Low Cost Distributed VR

Jonas Lindemann, 14 october 1996

Short background

The net is growing and so is the services. This creates new ways to communicate and cooperate in the construction process. You want to be independent of time and space and still be able to work together in a project.

The quality of the final product increases if it is easy to work with a common model over the net without time consuming travels. You can visualize problems and solutions in a three dimensional model and avoid misunderstandings. Client- and administration needs can be visualized in an early point in the development.

The goal of this report was to create a system that enables two people independent of time and space to work on the same geometric model on a part/object level. The users should be able to move objects, change colors and give the objects different properties for visualization. The system should be able to run on an ordinary personal computer with moderate hardware demands.

The LCD-VR system general description

The LCD-VR system can be used as a stand alone program to view three dimensional models in real time or as a multi user (in this system two persons) system to view models interactivly over the internet with users represented as models in the system.

Click to see the LCD-VR system with model loaded and some of its windows. (800x600x256 screenshot)

The control panel is a central part of the LCD-VR system and is described in the following figure:

The control panel

Function groupDescription
NetworkContains functions for connecting to a server system, to start the system as a server and to disconnect systems. The icon in the lower part of the group shows the state of the network connection.
MovementMoves the user in the model. The control is designed as a "virtual joystick". Up or down on the joystick moves the user forward and backwards in the model. Left and right turns user left or right. These actions can be combined to move forward and turn at the same time
ViewRotates the camera to view up, down, left and right.
VR-FunctionsContains functions for creating "virtual notes", turning on and off the basic environment, and view management
General functionsOpen a model, saving a model, clearing a model, and chat window.

LCD-VR system architecture

The LCD-VR system consists of two parts the VR-Server which displays and manages the three dimensional geometries and a main program which handles network connections and the user interface. The system also maintains a database and a geometric description of the model. The database contains information of the different geometric objects in the model. The following picture describes the architecture:


Implementation and data model

The describes in general terms the datamodel used in LCD system:

The VR-Server is implemented as native code (C++, Renderware library). The main program communicates with the server through a message interface. The next version of the VR-Server will use a ActiveX Automation interface or Java wrapper class. The user interface and network functions was created using the Borland Delphi development system. It is possible to implement the user interface and network functions as a Java applet or a Java application, that can be accessed through a browser for example Netscape Navigator or Microsoft Internet Explorer.