To improve the development process of Virtual Environments (VEs) and Networked Virtual Environments (NVEs) the inVRs (interactive networked Virtual Reality system) framework provides a clearly structured approach for the design of highly interactive and responsive NVEs. It consists of three independent modules, one for interaction, one for navigation, and one for network communication, two interface layers to support a variety of output and input devices, and a system core which stores and manages the state of the VE. It is developed following Open Source principles (LGPL) and can be used freely. It runs on Windows, Linux, Mac, and IRIX.

Application Areas

Application example 1

Safety Training

Application example 2

Collaborative Work

Application example 3

Entertainment

Application example 4

Architecture

Application example 5

Scientific Visualisation

Application example 6

Product Presentation

Features

Overview

Networked Virtual Environments (NVEs) are getting more and more attention from the industry and research facilities. A vast amount of application areas ranging from psychology, architecture, training, scientific visualization over to art and entertainment are using Virtual Reality (VR) technology. But it is still challenging to develop such applications since many aspects from a variety of research areas have to be taken into account. Software design, hardware development and human factors are to be considered for the creation of efficient NVEs.

Most VR applications still follow a low-level approach, where the NVE is tailored specific to the application domain. The use of scene graphs in combination with a complete application development is still cumbersome since often the mechanisms for interaction, navigation and synchronization are reinvented. On the other hand VR applications can be created using existing NVEs, relying on scripting languages or authoring environments where graphical editors ease the design and development process. One of the major drawbacks of these solutions is their restrictiveness.

To overcome these mentioned issues and to ease the design and development process of NVEs the inVRs framework was developed. inVRs provides a structured approach using well-known software patterns. It is designed to formalize and reuse common interaction techniques and navigation methodologies, with the feature of automatic network distribution, by keeping up the needed flexibility of the low-level solutions.

Additional tools have been created for inVRs like the support of physics engines, a graphical editor for the layout of a VE, and a 3D widget system inside virtual worlds. Through the approach chosen for the internal communication and the network module the out-ofthe-box feature of concurrent object manipulation is supported. The inVRs framework is publicly available under an LGPL license at http://trac.invrs.org/. It has been developed from 2005 till 2009. A large number of researchers and computer science students contributed to the code base of the framework and have created over 10 applications from the domains of new media art, architecture, entertainment, safety training, product presentation, and scientific visualization.