Metis: An Object-Oriented 3D Interaction Toolkit for Virtual Environment Research

Russell Turner
Assistant Professor
Computer Science and Electrical Engineering Department
University of Maryland Baltimore County


1000 Hilltop Circle
Baltimore MD 21250 USA




Virtual Environments, Interactive 3D Graphics, 3D Virtual Tools, Graphics Programming Paradigms, Object-Oriented Graphics.


Metis is an object-oriented toolkit for 3D interactive simulation. The goal is to create a simple, flexible high-performance software architecture that enables the rapid construction of immersive virtual reality applications for simulation, utilizing highly interactive techniques such as 3D direct manipulation and virtual tools (or "3D widgets"). Possible areas of application include robotics simulation, 3D character animation, surgical simulation, small-scale multi-user shared environments, and any inherently 3D tasks which require highly interactive user interfaces.

Metis is intended for use in virtual reality applications with varying levels of immersivity, using display techniques ranging from stereo glasses to head-mounted displays, and input devices such as 3D mice and data gloves. For such applications to function properly without inducing user fatigue and motion sickness, they must reliably respond to input and update the display with high frame rates and low latency, all of which require high-performance rendering and simulation capabilities. Metis was designed with a client-server software architecture intended to support these kinds of performance requirements. It also specifies high-level input and output device models so that applications can be developed independently of specific virtual reality hardware configurations, and provides an architecture for constructing interactive virtual tools or "3D widgets". One particular such configuration, which we have been using to test the toolkit, is a form of immersive desktop virtual reality known as "fishtank" VR in which the position of the user's head is tracked as he views the screen through stereo glasses. By altering the projection of the three-dimensional scene in response to the user's head position, objects can be made to appear fixed in space in front of the screen. Using a three-dimensional pointing device, the user can then interact with these virtual objects directly using virtual tools.

Metis is also intended for implementing applications that allow small numbers of users to simultaneously interact in real-time with a computationally intensive simulation. This is achieved using a client-server architecture in which multiple users, each interacting via a local viewer client, may connect remotely to a single simulation server. This also has the advantage of allowing the simulation portion of the application to be run on a separate machine, which may be better suited for computation, than the viewing portion, which may be better suited for interactive 3D graphics. This type of architecture is well-suited for implementing time-critical rendering and computation, and constant-time rendering capabilities are expected to be added to future versions of Metis.

While the purpose of Metis is not to support large-scale distributed virtual environments or internet-based applications, it could be used to implement Virtual Reality Modeling Language (VRML) browsers. Metis' run-time object structures have been designed to conform closely to the VRML2.0 standard [SGI96], and it is expected that the toolkit will eventually be able to import VRML2.0 files directly.


  1. Turner R, Gobbetti E (1998) Interactive Construction and Animation of Layered Elastically Deformable Characters. Computer Graphics Forum, 17(2):135-152, June 1998.
  2. Turner R, Song L, Gobbetti E. (1999) Metis: An Object-Oriented Toolkit for Constructing Virtual Reality Applications. Computer Graphics Forum, 18(2): 121-131, June 1999.
  3. Turner R, Song L, Gobbetti E. (1997) Metis: An Object-Oriented Toolkit for Constructing Virtual Reality Applicati ons  Published in Farhad Arbab, Philipp Slusallek (eds.) Proceedings Sixth Eurographics Workshop on Programming Paradigms in Graphics, Budapest, Hungary, September 8, 1997. (c) 1997 Eurographics Association pp 79-90 ISSN 1024-0861
  4. Turner R, Gobbetti E, Soboroff I, (1996) Head-Tracked Stereo Viewing with Two-Handed 3D Interaction for Animated Character Construction. Computer Graphics Forum, 15(3): 197-206, 470, September 1996. Proceedings of the 1996 17th Annual Conference and Exhibition of the European Association for Computer Graphics, Eurographics'96, held in Poitiers, France.
  5. Gobbetti E, Turner R, (1997) Exploring Annotated 3D Environments on the World-Wide Web using VRML In Jim Mayfield and Charles Nicholas, editors, Intelligent Hypertext: Advanced Techniques for the World-Wide Web. Volume 1326 of Lecture Notes in Computer Science. Pages 31-46, Springer-Verlag Inc., New York, NY, USA, 1997..


The conception of this project is based on several years of experience designing and building highly interactive 3D user interface toolkits and systems at the Swiss Federal Institute of Technology in Lausanne. Below is the list of the most relevant papers describing our previous systems.

Turner R (1995) LEMAN: A System for Constructing and Animating Layered Elastic Characters, Proceedings Computer Graphics International 1995, Academic Press

Balaguer JF, Gobbetti E (1995) Supporting Interactive Animation Using Multi-way Constraints. Proceedings EUROGRAPHICS Workshop on Programming Paradigms in Computer Graphics. Maastricht, The Netherlands.

Gobbetti E, Balaguer JF (1995) An Integrated Environment to Visually Construct 3D Animations. Proceedings ACM SIGGRAPH, Los Angeles, CA, USA.

Balaguer JF, Gobbetti E (1995) Sketching 3D Animations. Proceedings EUROGRAPHICS, Maastricht, the Netherlands.

Turner R, Thalmann D, (1993) The Elastic Surface Layer Model for Animated Character Construction. Proceedings Computer Graphics International.

Gobbetti E, Balaguer JF (1993) VB2: A Framework for Interaction in Synthetic Worlds. Proceedings ACM User Interface Software and Technology: 167-178.

Gobbetti E, Balaguer JF, Mangili A, Turner R (1993) Building an Interactive 3D Animation System. In Meyer B, Nerson JM (Ed.) Object-Oriented Applications. Prentice-Hall: 211-242.

Turner R, Gobbetti E, Balaguer JF, Mangili A (1993) An Interactive 3D Graphics Class Library in Eiffel. Proceedings EUROGRAPHICS Workshop on Object-Oriented Graphics, Champery, Switzerland.

Turner R, Balaguer JF, Gobbetti E, Thalmann D (1991) Physically-based Interactive Camera Motion Control Using 3D Input Devices. Proceedings Computer Graphics International: 135-145.

Turner R, Gobbetti E, Balaguer JF, Mangili A, Thalmann D, Magnenat-Thalmann N (1990) An Object-oriented Methodology with Dynamic Variables for Animation and Scientific Visualization. Proceedings Computer Graphics International: 317-328.


Interactive computer graphics technology is undergoing rapid progress, and there is currently much exciting research activity in various aspects of this field. As the quality and performance of multi-dimensional input devices, head-mounted displays, 3D graphics engines and high-performance CPUs improves at a fast pace, the need for attendant software technology which can fully realize the potential of this hardware becomes more acute.

Modern 3D graphics systems allow a rapidly growing community of users to create and manipulate increasingly sophisticated worlds. Despite their inherent three-dimensionality, these systems are still largely controlled by 2D WIMP user interfaces. The difficulties associated with achieving the key goal of immersion has led the research in virtual environments to concentrate far more on the development of new input and display devices than on higher-level techniques for 3D interaction. It is not until recently that interaction with synthetic worlds has tried to go beyond straightforward interpretation of physical device data. However, if 3D interactive applications are to progress beyond simple walk-through visualizations or 3D versions of hyper-media interfaces, new 3D interaction metaphors and the appropriate software architectures with which to implement them must be discovered. Although some promising work has begun to emerge in this new research area, in many ways, the development of virtual environment technology in the 90's still resembles that of interactive bit-mapped graphics workstations in the 70's: the hardware capability is there, but the appropriate interaction metaphors and software architectures are not.

Discovering useful interaction techniques and metaphors requires considerable experimentation, usability testing, and trial and error. 3D user interface designers are faced with systems whose structure and behavior are generally more complex than in standard 2D applications, and have to deal with a design space for interaction tools and techniques that is larger and mostly unexplored. A need clearly exists for tools that allow developers to rapidly prototype and test novel 3D interaction metaphors.


The investigation of 3D interaction technology has been emerging only recently as a well identified area of computer graphics. The ACM SIGGRAPH Symposium on Interactive 3D Graphics is the only conference completely focused on 3D interaction. The yearly conferences ACM SIGGRAPH, ACM SIGCHI, ACM UIST, and IEEE VRST are major events that usually have sessions on 3D interaction. There is currently no comprehensive survey or introductory text on the area. Below are a few important papers on software architectures for 3D interaction.

Zeltzer D, Pieper S, Sturman DJ (1989) An Integrated Graphical Simulation Platform. Proceedings Graphics Interface: 266-274.

Zeleznik RC, Conner DB, Wloka M, Aliaga D, Huang N, Hubbard PM, Knep B, Kaufman H, Hughes JF, van Dam A (1991) An Object Oriented Framework for the Integration of Interactive Animation Techniques. Proceedings SIGGRAPH: 105-112.

Conner DB, Snibbe SS, Herndon, KP, Robbins, DC, Zeleznik RC, van Dam A (1992) Three-dimensional Widgets. Proceedings ACM SIGGRAPH Symposium on Interactive 3D Graphics: 183-188.

Gleicher M (1992) Integrating Constraints and Direct Manipulation. Proceedings ACM User Interface Software and Technology: 171-174.

Strauss PS, Carey R (1992) An Object-Oriented 3D Graphics Toolkit. Proceedings ACM SIGGRAPH: 341-349.

Gobbetti E, Balaguer JF (1993) VB2: A Framework for Interaction in Synthetic Worlds. Proceedings ACM User Interface Software and Technology: 167-178.

Pausch R, Conway M, DeLine R, Gossweiler R, Miale S (1993) Alice and DIVER: A Software Architecture for Building Virtual Environments. Proceedings InterCHI.

Robertson GG, Card SK, Mackinlay JD (1993) Information Visualization Using 3D Interactive Animation. Communications of the ACM 36(4).

Elliot C, Schechter G, Yeung R, Abi-Ezzi S (1994) TBAG: A High Level Framework for Interactive, Animated 3D Graphics Applications. Proceedings ACM SIGGRAPH: 421-434.

Herndon KP, van Dam A and Gleicher M (1994) Workshop report: The Challenges of 3D Interaction. ACM SIGCHI Bulletin, October.

Stevens MP, Zeleznik RC, Hughes JF (1994) An Architecture for an Extensible 3D Interface Toolkit. Proceedings ACM User Interface Software and Technology.

Gobbetti E, Balaguer JF (1995) An Integrated Environment to Visually Construct 3D Animations. Proceedings ACM SIGGRAPH.


Other Communication Modalities, Usability and User-Centered Design.