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
[Project Page | Downloads]
Gadgeteer is a device management system. It handles the configuration, control, acquisition, and representation of data from VR devices.
JCCL is an XML-based configuration system with multivariate types.
VR Juggler uses this module internally for all system configuration.
Originally the VR Juggler portable runtime, VPR provides
platform-independent abstractions for threads, sockets (TCP/UDP), and
serial I/O primitives.
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.
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
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
[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 ]