This paper provides an overview of the Common Object Oriented Library for Virtual Reality (COOLVR) toolkit, a multi-platform, multithreaded toolkit that allows for easy adaptation to different hardware interfaces. Where the common definition of an object in a scene graph is limited to a graphical representation, this toolkit extends the idea of a scene graph to include objects with different and possibly multiple representations (e.g. audio, graphical etc). Each of these different representations is ‘rendered’ by an output device (screen, HMD, headphones, speakers etc). The toolkit allows the easy addition of new object representations as well as the addition of any new output devices needed for the output of these representations. COOL-VR also provides an easy interface for adding new file loaders that may be needed to load these new representations. In order to provide portability, the toolkit provides an abstraction layer that hides the inconsistencies between differing platforms, and provides the user with a single programming interface. Applications developed using the COOL-VR toolkit can be built on one platform and, without changing any code, be recompiled to run on a completely different platform (for instance from Unix to Windows). When running the application on a different platform, the toolkit maintains the look and feel of that new platform, but the interaction with the application stays the same across the different platforms.
[1]
David Flanagan,et al.
Java in a Nutshell
,
1996
.
[2]
Richard C. Waters,et al.
Locales and beacons: efficient and precise support for large multi-user virtual environments
,
1996,
Proceedings of the IEEE 1996 Virtual Reality Annual International Symposium.
[3]
Christer Carlsson,et al.
DIVE A multi-user virtual reality system
,
1993,
Proceedings of IEEE Virtual Reality Annual International Symposium.
[4]
Michael Zyda,et al.
Bamboo-a portable system for dynamically extensible, real-time, networked, virtual environments
,
1998,
Proceedings. IEEE 1998 Virtual Reality Annual International Symposium (Cat. No.98CB36180).