The Data Arena runs the same software stack as is deployed in the Data Arena Virtual Machine (DAVM). This makes it possible to prototype a visualisation within the DAVM without requiring access to the Data Arena. The visualisation may then be exported from the DAVM and imported into the Data Arena for playback. This section of the user guide provides some additional information about the software stack which is used in both environments.
Equalizer is a library used by the Data Arena to distribute synchronized content to the individual projectors which output to its display surface. The Equalizer library is a low-level graphics library which is able to replicate OpenGL graphics commands to a networked cluster of high-performance computers. In most situations however, it will not be necessary for users to interact with this library in order to create a visualisation. Most users will build graphical applications using higher level libraries, such as Omegalib, Cyclops or OpenSceneGraph (OSG).
Omegalib is middleware designed to ease the development of applications for virtual reality (VR) and immersive display environments. It is able to integrate a variety of other frameworks. OpenSceneGraph is a powerful graphics rendering library, however, it is also fairly complex, with a steep learning curve. Therefore, Cyclops, a high level API for OSG (and a component of the Omegalib framework), is used most commonly to implement graphics operations within the Data Arena. The Data Arena development environment also provides some custom logic used to handle standard use cases and to ease first steps for new developers.
Equalizer is the underlying rendering framework that makes it possible to create a display window on either a laptop screen running the virtual machine or on the projectors within the Data Arena. Equalizer is a parallel rendering framework that supports 3D stereo projections and much more. The Equalizer open source project is available on GitHub. More extensive documentation may be found online.
Most graphical visualisations displayed within the Data Arena are created with the Omegalib framework, a high level graphics middleware which interacts with Equalizer. It provides an abstraction over OpenGL and supports development in Python. Primitive objects, OpenSceneGraph integration and web views are all integrated or available via plugin modules. Omegalib is an open source project that is available on GitHub. The Omegalib Python API is also documented online.
OpenSceneGraph is an open source high-performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modeling. OSG is made available in Omegalib via a plugin module.
Cyclops is a utility library layered above Omegalib and OpenSceneGraph. It is designed to speed up the development of simple graphical applications, without requiring the user to have to deal with the low-level aspects of OSG.
VRPN: The Virtual Reality Peripheral Network A VRPN server provides a standard interface for all virtual reality peripherals. Using VRPN, it is possible to interact with a variety of input devices in a standard way, such as a mouse, keyboard, motion capture tracking marker, space navigator or gamepad. The VRPN software is available on GitHub and its documentation can be found online.