An Architecture for Virtual Worlds

This paper presents a system architecture for creating interactive, multisensory, three-dimensional environments called virtual worlds. The architecture specifically addresses the requirements of virtual worlds for high performance, flexibility, and coordination of concurrent events. Performance is enhanced by a distributed client/server system structure and by efficient overlap of processing time and input/output delay. All processes communicate via asynchronous messages. The functional partitioning of a virtual world requires relatively low bandwidth among the individual processes and the system can be implemented over a conventional local-area network. A key element of this architecture is a central, event-driven dialogue manager that coordinates concurrent input and output events. The dialogue manager provides a clear separation of the interaction techniques from the content of the virtual world as defined by the application. The system is flexible and easily reconfigurable. An interaction technique can be readily changed or replaced because each interaction device is modularized into a separate server and each interaction modality into a separate subdialogue. Subdialogues can be loaded and dropped dynamically, enabling input/output device remapping and the selection of interaction techniques while a virtual world is running. As an initial test of this architecture we have implemented a virtual world for interacting with data from a computational fluid dynamics simulation.

[1]  Ivan E. Sutherland,et al.  The Ultimate Display , 1965 .

[2]  W. Morven Gentleman,et al.  Message passing between sequential processes: The reply primitive and the administrator concept , 1981, Softw. Pract. Exp..

[3]  Eugene Fiume,et al.  The message is the medium: Multiprocess structuring of an interactive paint program , 1982, SIGGRAPH.

[4]  Mark Green,et al.  The University of Alberta user interface management system , 1985, SIGGRAPH.

[5]  Marvin Theimer,et al.  An Empirical Study of Distributed Application Performance , 1985, IEEE Transactions on Software Engineering.

[6]  Robert J. K. Jacob,et al.  A Specification Language for Direct-Manipulation User Interfaces , 1986, ACM Trans. Graph..

[7]  Mark Green,et al.  A survey of three dialogue models , 1986, TOGS.

[8]  R. Daniel Bergeron,et al.  Specifying complex dialogs in ALGAE , 1986, CHI '87.

[9]  A Koide,et al.  Polyhedral approximation approach to molecular orbital graphics , 1986 .

[10]  Peter P. Tanner,et al.  A multitasking switchboard approach to user interface management , 1986, SIGGRAPH.

[11]  Frederick P. Brooks,et al.  Walkthrough—a dynamic graphics system for simulating virtual buildings , 1987, I3D '86.

[12]  Alain Fournier,et al.  GRAPE: An environment to build display processes , 1987, SIGGRAPH '87.

[13]  Michael Potmesil,et al.  FRAMES: Software tools for modeling, rendering and animation of 3D scenes , 1987, SIGGRAPH.

[14]  James R. Rhyne Extensions to C for interface programming , 1988, UIST '88.

[15]  Charles Wiecha,et al.  Generating highly interactive user interfaces , 1989, CHI '89.

[16]  David H. Laidlaw,et al.  The application visualization system: a computational environment for scientific visualization , 1989, IEEE Computer Graphics and Applications.

[17]  Jaron Lanier,et al.  Reality built for two: a virtual reality tool , 1990, I3D '90.

[18]  Colin Ware,et al.  Exploration and virtual camera control in virtual three dimensional environments , 1990, I3D '90.

[19]  D. Scott Dyer,et al.  A dataflow toolkit for visualization , 1990, IEEE Computer Graphics and Applications.

[20]  Lawrence Koved,et al.  Design for interactive performance in a virtual laboratory , 1990, I3D '90.

[21]  Daniel T. Ling,et al.  Dialogue structures for virtual worlds , 1991, CHI.

[22]  Frank Biocca,et al.  Virtual Reality Technology: A Tutorial , 1992 .

[23]  Martin R. Stytz,et al.  Providing Situation Awareness Assistance to Users of Large-Scale, Dynamic, Complex Virtual Environments , 1993, Presence: Teleoperators & Virtual Environments.