Virtual Environment Architectures: Infrastructure and Interoperability


Jim Purtilo, Univ. of Maryland, ph: (301) 405-2706, fax: (301) 405-6707, purtilo@cs.umd.edu
David Stotts, Univ. of North Carolina at Chapel Hill, ph: (919) 962-1833, fax: (919) 962-1799, stotts@cs.unc.edu
ONR Contact: Ralph Wachter


Goals of the Project

Consider an architectural VR system built for visualizing new ship designs; it allows an individual to construct a 3-D model of a new ship and to ``walk through'' the ship, experiencing the design from a sailor's perspective. Consider also a second VR system built to simulate a group conference; it allows a collection of individuals physically remote from one another to experience a face-to-face meeting in a virtual 3D environment. How can we combine these two systems (without the expense and time required to development a separate third system) so they interoperate, allowing a several physically separated people to virtually walk through a ship ``together,'' as a group?

Current software technology for building VR-based applications fosters development of closed applications, each built from scratch. The ability to merge models and systems once developed is solely dependent upon one's ability to `hack' software; the principles of VR system interconnection are poorly understood, and no software engineering guidelines have been developed for use in VR applications.

We are studying the area of interoperation among VR systems (that is, the virtual environment, or VE), in order to discover essential principles governing their construction and effective use. Our approach focuses upon the control properties of interfaces between VR applications: existing VR applications are being examined in order to expose commonalities, and our abstractions of VR control behavior are being specified in terms of the software bus model of interconnection. The result will be an appropriately abstract framework for specifying how multiple models should be merged operationally.

Current prototype

Our methods include de-engineering and interconnecting the VE systems developed over the past 7 years in the graphics labs at the Univ. of North Carolina at Chapel Hill Computer Science Department.

We have created a multi-user building walk-through program by replicating a single-user building walkthrough, one process per user, and having them interoperate via Purtilo's Polylith toolbus. The system we are building on (called xfront) is controlled with two joysticks and displays on graphics monitor. Polylith serves as a general message bus for process communication. Each copy of xfront exchanges eyepoint and transformation information with the others, and then does local rendering. We have done minimal modifications to xfront.

Scene rendering is done on the Pixel Planes host at UNC. Each copy of the VR simulation runs on a Sparc 5 front-end to Pixel Planes, and the Sparc processes communicate with the bus components (also running on each Sparc). The machines are connected via local Ethernet.

Future phases of investigation

References

"Virtual Environment Architectures: Interoperability through Software Interconnection Technology", Proc. of the Third Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, April 17-19, 1994, Morgantown, W.Va. (IEEE Computer Society Press), pp. 211-224.