FreeVR is an open-source virtual reality interface/integration library. It has been designed to work with a wide variety of input and output hardware, with many device interfaces already implemented. One of the design goals was for FreeVR applications to be easily run in existing virtual reality facilities, as well as newly established VR systems. The other major design goal is to make it easier for VR applications to be shared among active VR research sites using different hardware from each other.
Currently, C is the only language for which a fully developed API exists. Of course, C++ will also work, but no extra features have been added to complement it. However, many C++ applications have been written using the FreeVR library, including many student programming assignments, and interfaces to other libraries with only C++ APIs, such as OSG and ODE.
Thus far, FreeVR has been interfaced to four graphics libraries:
OpenGL,
OpenSceneGraph,
Delta3D,
OpenSG, and
SGI's Performer.
Input devices/protocols that are currently able to be used:
X-windows (provides keyboard & mouse input – useful for simulating VR inputs)
Win32 (used for keyboard and simulated inputs under Cygwin)
Static — a device with constant (or constantly changing) inputs
Generic Shared Memory (usable with systems that put values into shared memory)
Ascension Flock of Birds
InterSense IS-900
AR-Tracking systems via dtrack protocol
Polhemus Fastrak
Magellan (aka SpaceMouse) 6-DOF input device
SpaceTec SpaceOrb 6-DOF input device
SpaceTec SpaceBall 6-DOF input device
Fakespace Pinch Glove
Linux "joydev" game controller interface
Linux Event interfPost too long. Click here to view the full text.