• Features
  • Community
  • Documentation

  • VR Juggler

    VR Juggler provides a platform for virtual reality application development. This component allows a user to run an application on almost any VR system. VR Juggler acts as "glue" between all the other Juggler components. VR Juggler is scalable from simple desktop systems like PCs to complex multi-screen systems running on high-end work stations and super computers. Our development environment supports many VR configurations including desktop VR, HMD, CAVE™-like devices, and Powerwall™-like devices.
    [Project Page | Downloads]

    Gadgeteer (device management)

    Gadgeteer is a device management system. It handles the configuration, control, acquisition, and representation of data from VR devices.
    [Project Page]

    JCCL (configuration system)

    JCCL is an XML-based configuration system with multivariate types. VR Juggler uses this module internally for all system configuration.
    [Project Page]

    VPR (VR Juggler Portable Runtime)

    Originally the VR Juggler portable runtime, VPR provides platform-independent abstractions for threads, sockets (TCP/UDP), and serial I/O primitives.
    [Project Page]

    Sonix (audio lib)

    Sonix is a high-level simple abstraction for audio hardware or audio APIs. It provides an interface useful to many simple VR and entertainment applications such as trigger, 3D position, etc. The interface to Sonix is kept very very simple in order to get people up and running with sound as fast as possible. sonix is reconfigurable allowing audio APIs to be safely swapped out at runtime without the dependent systems noticing. systems using this layer expect to be completely portable.
    [Project Page]


    Tweek is a collection of multiple technologies: C++, Java, JavaBeans, and CORBA. Combined, these allow a Java GUI composed of plug-ins to communicate with a C++ application. The result is an implementation of a distributed Model View Controller. Our implementation aims to simplify the inter-language communication so that programmers can make use of Tweek in their VR applications without knowing all the details of the individual technologies.
    [Project Page]


    PyJuggler is a Python module that allows VR Juggler application objects to be written in Python. It makes use of the Boost.Python library (currently at version 2). VR Juggler application objects written in Python are loaded into the VR Juggler kernel (written in C++) and executed as though they were "normal" C++ application objects. The result is that highly portable VR Juggler applications can be written quickly and easily in Python.
    [Project Page | Downloads]


    VRJ.NET is a collection of C/C++ libraries and .NET assemblies that provide bindings to the Common Language Infrastructure (CLI) for VR Juggler. In other words, VRJ.NET offers .NET 1.1 bindings for VR Juggler. Using VRJ.NET, VR Juggler application objects can be written in any .NET language (those conforming to the Common Language Specification) including C# and VB.NET. These application objects are loaded into the standard VR Juggler kernel and handled just as though they were natively compiled C++ objects.
    [Project Page ]