This paper presents a scenegraph animation application programming interface (API), known as the Animation Engine, which was constructed for software developers to easily perform smooth transitions and manipulations to scenegraph nodes. A developer can use one line of code to enter the property, end state and number of frames to describe the animation, then the Animation Engine handles the rest in the background. The goal of the Animation Engine is to provide a simple API that integrates into existing applications with minimal effort. Additionally, techniques to improve virtual reality (VR) application performance on a large computer cluster are presented. These techniques include maintaining high frame rates with 4096 × 4096 pixel textures, eliminating extraneous network traffic and reducing long model loading time. To demonstrate the Animation Engine and the development techniques, an application known as the Virtual Universe was created. The Virtual Universe, designed to run in a six walled CAVE, allows users to freely explore a set of space themed environments. The architecture and development techniques for writing a stable immersive VR application on a large computer cluster, in addition to the creation of the Animation Engine, is presented in this paper.
ABSTRACTThis paper presents the Virtual Universe-a virtual reality (VR) space exploration application designed to take advantage of a high-end VR system including: a high resolution sixwalled display, an eight channel audio system, an IS-900 tracking system, and a 49 node cluster running dual graphics cards. The Virtual Universe is an immersive VR used to explore virtual space. In order to develop such an application to run efficiently on such a massive cluster, a scenegraph animation API-the Animation Engine-was constructed for software developers to smooth transitions and manipulations to scenegraph nodes. Inspired by Core Animation from Apple's Mac OS X Leopard, animation management no longer needs to take place on a frame-to-frame basis. The developer can use one line of code to enter the start state, end state, and number of frames to describe the animation, and the animation engine handles the rest in the background. Additional challenges such as maintaining high frame rates with 4096 x 4096 pixel textures, disabling redundant network traffic, and allowing the file server to leave requested data in cache were overcome. The architecture and development techniques for creating a stable immersive VR application on a high-end VR system is presented in this paper. 1