An open software architecture for virtual reality interaction

This article describes OpenTracker, an open software architecture that provides a framework for the different tasks involved in tracking input devices and processing multi-modal input data in virtual environments and augmented reality application. The OpenTracker framework eases the development and maintenance of hardware setups in a more flexible manner than what is typically offered by virtual reality development packages. This goal is achieved by using an object-oriented design based on XML, taking full advantage of this new technology by allowing to use standard XML tools for development, configuration and documentation. The OpenTracker engine is based on a data flow concept for multi-modal events. A multi-threaded execution model takes care of tunable performance. Transparent network access allows easy development of decoupled simulation models. Finally, the application developer's interface features both a time-based and an event based model, that can be used simultaneously, to serve a large range of applications. OpenTracker is a first attempt towards a "'write once, input anywhere"' approach to virtual reality application development. To support these claims, integration into an existing augmented reality system is demonstrated. We also show how a prototype tracking equipment for mobile augmented reality can be assembled from consumer input devices with the aid of OpenTracker. Once development is sufficiently mature, it is planned to make Open-Tracker available to the public under an open source software license.

[1]  M. A. Sahib Graphical Kernel System (GKS) , 1985 .

[2]  C. M. Sperberg-McQueen,et al.  eXtensible Markup Language (XML) 1.0 (Second Edition) , 2000 .

[3]  Paul S. Strauss,et al.  An object-oriented 3D graphics toolkit , 1992, SIGGRAPH.

[4]  Ivan Poupyrev,et al.  Non-isomorphic 3D rotational techniques , 2000, CHI.

[5]  Arie E. Kaufman,et al.  Virtual input devices for 3D systems , 1993, Proceedings Visualization '93.

[6]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[7]  Hirokazu Kato,et al.  Marker tracking and HMD calibration for a video-based augmented reality conferencing system , 1999, Proceedings 2nd IEEE and ACM International Workshop on Augmented Reality (IWAR'99).

[8]  C. M. Sperberg-McQueen,et al.  Extensible markup language , 1997 .

[9]  Dieter Schmalstieg,et al.  Strolling Through Cyberspace With Your Hands In Your Pockets: Head Directed Navigation In Virtual Environments , 1998, EGVE.

[10]  Ivan Poupyrev,et al.  Amplifying spatial rotations in 3D interfaces , 1999, CHI EA '99.

[11]  Michael D. Harrison,et al.  A 'plug and play' approach to testing virtual environment interaction techniques , 2000 .

[12]  James Clark,et al.  XSL Transformations (XSLT) Version 1.0 , 1999 .

[13]  Dieter Schmalstieg,et al.  Mobile collaborative augmented reality , 2001, Proceedings IEEE and ACM International Symposium on Augmented Reality.

[14]  Kyo Chul Kang,et al.  Software engineering of virtual worlds , 1998, VRST '98.

[15]  Jun Rekimoto,et al.  Augmented surfaces: a spatially continuous work space for hybrid computing environments , 1999, CHI '99.

[16]  Dieter Schmalstieg,et al.  Bridging multiple user interface dimensions with augmented reality , 2000, Proceedings IEEE and ACM International Symposium on Augmented Reality (ISAR 2000).

[17]  Chris Shaw,et al.  Decoupled simulation in virtual reality with the MR toolkit , 1993, TOIS.

[18]  Rikk Carey,et al.  The annotated VRML 2.0 reference manual , 1997 .