CaveUT is a set of modifications to Unreal Tournament that allows it to display in panoramic (wide field of view) theaters. The result is a useful tool for educational applications and virtual reality (VR) research. Our modifications are open source and freely available to the public (see www2.sis.pitt.edu/~jacobson/ut/). CaveUT provides multiple viewsleft, right, up, and downfrom one point in the virtual environment. It is also capable of off-axis projection, which supports correct display when used in the very small one-person theaters researchers refer to as caves.
An important branch of engineering for VR applications centers on building an enclosure where imagery is projected onto the walls. An early example of this is a planetarium, which creates the illusion of a night sky, or an IMAX theater that displays a specially made movie on the inside of a half-sphere-shaped screen. Members of the audience experience some degree of immersion, the feeling of being there in the world depicted by the movie, because the screen covers such a wide angle of view.
While film is capable of providing the most detailed imagery, producing the visual effects by computer has some distinct advantages. With the right software, scenes could be generated rapidly and with no special equipment. Most importantly, computer-generated imagery could respond to input from a performer or the audience itself. At this point it is more like an interactive gamea boon for entertainment and educational applications, as well as certain areas of research. An example of a fully digital display is the Earth Theater at the Carnegie Museum of Pittsburgh (see Figure 1).
The Earth Theater is a fully digital display at the Carnegie Museum of Natural History that can accommodate to 60 viewers. The screen is curved, shaped like a section of a sphere, covering 210 degrees horizontal by 30 degrees vertical (see Figure 2). Five standard video projectors, each driven by a PC running Windows, produce the digital image. The display on each screen is rear-projected and its content is controlled by a PC connected to a local-area network. Driven by Unreal Tournament with CaveUT modifications, each computer displays the appropriate view into the virtual world displayed.
A related approach is to make a much smaller theater, which can surround just one viewer more completely. The first such device, the CAVECave Automatic Virtual Environmentis a simple cube roughly the size of an elevator, where each wall displays a rear-projected image generated by computer [1]. The objects and landscape on each screen are bent in just the right way, so that the viewer sees a single virtual landscape. The illusion is so strong the walls of the CAVE look (to this author) like ghostly windows into a fantastic world.
The Balance Nave Automatic Virtual Environment (BNAVE) is a similar cave environment located at the Medical Virtual Reality Center in the Department of Otolaryngology at the University of Pittsburgh. The display on each screen is produced by software on a PC and projected onto the rear of the screen using a digital projector. The PCs are connected to a standard local-area network, so the software on a separate master computer can tell each projector PC what it should be showing.
Based on a similar facilitythe NAVE at Georgia Tech (see www.gvu.gatech.edu/virtual/nave/)the BNAVE is used for the research and rehabilitation of balance disorders, phobias, and other conditions [2]. In Figure 2, the viewer is strapped into a safety harness, covered with sensors, and presented with a scary view from the top of a virtual cliff. Researchers can safely help people get over their fear of heights this way, while studying the effect of perceived altitude on the patient's physiology.
All the computers in the immersive theater are joined in a single multiplayer game of Unreal, which allows each of them to have a view into the virtual world. There should be one computer for each projector and one more for the theater operator. Initially, the operator is the only normal player in the game. Each projector computer hosts a client, a copy of UT connected to the game, operating as a spectator of the operator's player. In UT, one can join a game as a spectator, which is a bodiless camera, which in this case follows the player around in the virtual world. Setting one more option makes the spectator see exactly what a player is seeing. Actually, it is just a virtual camera or viewpoint in the virtual world that is always located in exactly the same place as the player's camera.
For each projector machine, the CaveUT modifications in the game code turn the spectator's viewpoint by a certain amount. The exact rotation needed for each screen depends on where it is located and the overall geometry of the immersive theater. In this way, the proper left, right, center and even top or bottom views are created. The views produced from the individual machines will stay integrated so long as the network and the computers are fast enough.
To display an integrated view of some virtual world in the BNAVE, the computer must create the illusion the three screens are a type of bay window through which that world is viewed. As with the Earth Theater, it is possible to simply generate three standard views pointing front left and right, and one from below. The result would visually correct for a viewer with an eye perspective in the exact center of the BNAVE. However, we want the viewer to be off-center, as shown in Figure 2. CaveUT can still make the perspective convergence correct for the viewer's location, using a technique known as off-axis projection. Without it, the scene would appear to be strangely bent at the corners where the screens touch.
Figure 3 shows a schematic diagram of the BNAVE. Associated with each screen is a view frustum, depicted by dashed lines, which describes what the viewer can see in the virtual world displayed on the screen. Each frustum is shown in Figure 3 by drawing a dashed line from the viewpoint to each of the four corners of the screen. Each frustum begins with the viewer's eye, occupies an area in physical space shaped roughly like a pyramid, up to the projection screen, then continues through virtual space to an imaginary infinity. The key is that all four frustums fit together cleanly. This allows the viewer to look in any direction, within the limits of the display, and see everything in the virtual space with the proper perspective.
Figure 3 shows perpendicular lines from the viewer's eye to each screen. The point where the perpendicular intersects the plane of the screen is the so-called vanishing point of the image shown on the screen. This is the same vanishing point that photographers, painters, and computer graphics programmers use when they describe single-point perspective.
CaveUT is a set of modifications to the game code in UT and the graphics library interface. The modifications needed to produce off-axis projection is in the part of the graphics library interface that talks to OpenGL. OpenGL is a well-known graphics library that is freely available for most computer platforms. OpenGL code for the Unix operating system already exists for all CAVEs to produce a wide range of visual effects needed for panoramic theaters, such as off-axis projection, dynamic head tracking, stereographic imagery, and more. Because the code for UT's OpenGL interface available is open source, all of these effects can be added to the game. CaveUT is an indicator that such modifications can be performed, and serves as a starting point for interested parties to add relevant features.
CaveQuake (see brighton.ncsa.uiuc.edu/~prajlich/caveQuake/) is a program written for the CAVE [2] that mimics Quake II, a game very similar to UT. CaveQuake allows the user of the CAVE to join any networked Quake II game, where the other players are using standard copies of Quake II. Also, CaveQuake supports certain features, such as stereopsis and head-tracking, which are not yet implemented in CaveUT. Because CaveQuake was completely written by researchers, it is endlessly flexible for anyone with the time to reprogram it. However, CaveQuake's capabilities are limited to whatever the authors and users can build into itit does not benefit from the powerful software contained in the Quake game. By contrast, CaveUT is a modification to the actual UT code, so the user has access to the full capabilities of the game advantages on a PC-based platform. Currently, CaveQuake runs on Linux and Irix, the operating system of the traditional Silicon Graphics machines.
1. Cruz-Neira, C., Sandlin, D.J., and DeFanti, T.A., Virtual reality: The design and implementation of the CAVE. In Proceedings of SIGGRAPH 1993 Computer Graphics Conference (Aug. 1993), 135142.
2. Jacobson, J., Redfern, M.S., Furman, J., Whitney, S.L., Sparto, P.J., Wilson, J., and Hodges, F.H. The Balance NAVE: A virtual reality facility for research and rehabilitation of balance disorders. In Proceedings of the ACM Symposium on Virtual Reality Software and Technology 2001, (Nov. 2001).
The CAVE is a registered trademark of the Board of Trustees of the University of Illinois.
Figure 1. View of the Earth Theater running Unreal Tournament with CaveUT modifications. This scene shows the inner sanctum of a virtual Egyptian temple, constructed under the direction of a qualified Egyptologist as a learning tool (see hemef.cfa.cmu.edu/egypt/).
Figure 2. The BNAVE running UT with the CaveUT modifications.
Figure 3. Schematic of the BNAVE. The floor is also a screen.
©2002 ACM 0002-0782/02/0100 $5.00
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2002 ACM, Inc.
No entries found