UvA-DARE (Digital Academic Repository)

Interactive Exploration in Virtual Environments

Belleman, R.G.

Publication date 2003

Link to publication

Citation for published version (APA): Belleman, R. G. (2003). Interactive Exploration in Virtual Environments.

General rights It is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), other than for strictly personal, individual use, unless the work is under an open content license (like Creative Commons).

Disclaimer/Complaints regulations If you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, stating your reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Ask the Library: https://uba.uva.nl/en/contact, or a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam, The Netherlands. You will be contacted as soon as possible.

UvA-DARE is a service provided by the library of the University of Amsterdam (https://dare.uva.nl)

Download date:02 Oct 2021 Chapterr 3 Thee UvA-DRIVE virtual reality system* *

"The"The ultimate display would, of course, be a room within whichwhich the computer can control the existence of matter. AA chair displayed in such a room would be good enough toto sit in. Handcuffs displayed in such a room would be confining,confining, a bullet displayed in such a room will be fatal. WithWith the appropriate programming, such a display could literallyliterally be the Wonderland into which Alice walked."

IvanIvan Sutherland, The Ultimate Display, Proceedings of thee IFIP Congress, 2, pages 506-508, 1965.

3.11 Introduction

Thee objective of a Virtual Environment (VE, the environment that is generated by aa VR system) in general is to fool a human being into believing that he or she is physicallyy located in a synthetically generated environment by presenting him or her withh reactive external stimuli. Of the human sensory system (vision, hearing, smell, touchh and taste), the modality that is most often exploited in a VR system is vision becausee it has the greatest and most immediate impact. High-end VR systems, like thee CAVE installed at SARA in 1997, have been successfully applied in numerous fields,fields, ranging from architecture and engineering, to biotechnology, psychology and medicinee [5,20,25,50,51]. Whatt all these projects have in common is that they need a VR system that can generatee a VE that is so compelling that the user is convinced he is immersed into aa new world. To achieve this, the VR system must, apart from presenting the user withh sensory stimuli, be able to sense the behaviour of a user so that it can react to

'Partss of this chapter have been published in R.G. Belleman, B. Stolk, and R. de Vries. "Immersive virtualvirtual reality on commodity hardware", Proceedings of the 7th annual conference of the Advanced Schooll for Computing and Imaging (ASCI 2001), pages 297-304, 2001. 52 2 TheThe UvA-DRIVE virtual reality system thee user's actions. Such an environment then allows the user to interact with the VE, therebyy increasing a user's awareness of the world presented around him. It is this combinationn of presentation and interaction that makes VR so interesting. Havingg said that, it is curious that VR has not met wider acceptance than it has upp until now. The main reason for this is cost. Not until recently, the only sys- temss that were capable of providing high fidelity VR were large monolithic computer systemss with dedicated graphical subsystems that cost millions. However, with cur- rentlyy available commodity off-the-shelf (COTS) hardware and open source software itt is now possible to build VR systems that rival and in some cases surpass the capa- bilitiess of large commercial VR systems. Thiss chapter describes a design that has resulted in the construction of, amongst oth- ers,, the University of Amsterdam Distributed Real-time Interactive Virtual Environ- mentment (UvA-DRIVE), a fully functional VR system based on COTS hard- and software. Sectionn 3.2 discusses the requirements of VR systems and the considerations that havee to be taken into account while constructing one. Section 3.3 describes a number off design options for a VR architecture. Section 3.4 presents the prototype which has beenn built and the results of a comparative benchmark. Finally, in section 3.5 we presentt our conclusions.

3.22 Requirements and considerations

Thee primary objective of this work is to design and build a fully functional VR system thatt allows users to explore their datasets or to develop prototypes of virtual environ- mentss for later use in larger systems, such as a CAVE, without having to use these moree expensive resources during development. The considerations we made in the designn of the new architecture are the following.

Multii user Inn most applications, a researcher wants to explore and discuss the results of an experimentt with his peers. The display system should therefore allow more than onee person to join in the experience. This rules out the use of head-mounted displays (HMD)) that essentially provide a single user VR experience (the increase in both com- plexityy and cost make it impractical for every user to wear an HMD). Furthermore, conventionall cathode-ray tubes (CRT) monitors are too limited in size; in practice, no CRTT monitors larger than approximately 100 cm in diagonal exist. Larger sized LCD panelss are available but suffer from low refresh rates which makes them unsuitable forr VR displays.

Minimall effort in porting existing software Inn the past, extensive effort has been put in the development of visualization and VR applicationss for use on high-end VR systems. An important requirement is. therefore, thatt the use of this software can be continued on the new architecture with minimal portingg efforts. 3.33.3 Design options for a VR architecture 53 3

Processorr and graphics performance Thee data sets that are currently explored by the users of VR systems range anywhere fromm low to high volume and complexity. To accommodate the full range, the archi- tecture'ss processing power and graphical performance should be able to handle these datasetss adequately.

Stereoscopicc 3D display Stereoo vision adds a compelling depth-cue over perspective projection by providing thee left and right eye with slightly different images, corresponding to the differences thee eyes see when looking at objects in the real world. This property, together with thee ability to interact with a VE is what makes a VR system a unique tool for explor- ingg large, complex, multi-dimensional data sets.

Headd and hand tracking Headd tracking makes an additional depth-cue possible known as "motion parallax". Withh this technique, the environment responds naturally to the movements of the userr so that one can attain additional information on the shape and size of a 3D structure.. Hand tracking allows a VR system to determine the position and orienta- tionn of the user's hand so that interaction with the environment is possible.

Flexibilityy and scalability Rapidd advances in the semiconductor industry make computing and graphics sys- temss virtually obsolete within a time span of three to five years. To lengthen this timee span, the new architecture should consist of components that can be easily re- placedd as better hardware becomes available.

Cost t Forr most end-users, project budgets are limited. The solution we are looking for there- foree aims at providing a VR architecture that is low cost (both in construction and maintenance)) but not at the expense of the requirements mentioned above.

3.33 Design options for a VR architecture

Givenn the requirements and considerations outlined in the previous section, we have investigatedd a number of options to construct a VR architecture based on commodity hardware.. During our investigation we have considered a number of different designs whichh will be discussed in this section. The architecture we have selected and built is describedd in section 3.4. 54 4 TheThe UuA-DRIVE virtual reality system

3,3.11 Multi user stereoscopic display Thee display system is that part of the VR system the experimenter looks at and in- teractss with. In some cases, a quality monitor may be quite sufficient as a display systemm but for multi user use, a monitor is often too small. A convenient method for obtainingg a large display area is to use high brightness projectors that project images onn large surfaces that can be viewed by multiple users at the same time. In these sys- temss a projector projects images on a screen, mostly on the back so that the user can movee freely in front of the screen without occluding the projected images (see Figure 3.L).. This chapter will only cover single screen projection systems.

Frontt Projection (Occlusion) Back Projection (No occlusion) hh 3

FigureFigure 3.1: Front and back projection systems.

Torr projection based systems, there are basically two methods to generate stereoscopic images;; active and passive stereo systems.

Activee stereo Inn active stereo systems, a single display device (i.e. a graphics adapter and a projec- tor)) is used to generate images for the left and right eye alternately. The display of thee images is synchronized with a device that ensures that the users see only the left imagee in the left eye and the right image in the right eye. Thee application, the graphics adapter's firmware and the graphics adapter's hard- waree must support this type of stereo through an interface that signals the end of a frame.. This is commonly done using the vertical retrace signal that is generated by a graphicss adapter at the end of a frame. To prevent eye fatigue, the frame rate of an activee stereo display should be at least 100 Hz (i.e. 50 Hz per eye). Activee stereo systems either use shutter glasses or active polarization filters to direct thee left and right eye images into the correct eye (as will be illustrated using Figures 3.22 and 3.3).

Activee stereo using shutter glasses Shutterr glasses (see Figure 3.2) use a liquid crystal material that can be turned opaquee or transparent under hardware or software control. The glasses are controlled byy the graphics system, either through a wire connection or via wireless infra-red, in syncc with the rendered left/right images. Although this method of generating stereo imagess is the most commonly used, the shutter glasses can be quite expensive and 3.33.3 Design options for a VR architecture 55 5

host t infraredd emitter L/R R LCDD shutter glasses

FigureFigure 3.2: Active stereo using liquid crystal shutter glasses.

oftenn get uncomfortable over long periods of use.

Activee stereo using a "Z" screen AA "Z" screen (see Figure 3.3) is a dynamic optical filter that alternately changes the polarizationn direction of light that travels through under hardware or software con- trol.. The low cost, lightweight glasses worn by the users also contain polarized mate- riall that only passes light with a specific polarization direction. Linear polarization is usedd ("left-right" and "up-down"), which implies that the users should keep their head alignedd with the Z screen in order to avoid that images for one eye "bleed through" to thee other. Circular polarization filters do not have this problem but these only exist forr passive setups.

host t L/R R D D polarizedd glasses : : projectorr 3^ video o "Z"" screen

FigureFigure 3.3: Active stereo using an active polarization screen ("Z" screen) and polarized glasses. glasses.

Passivee stereo Inn passive stereo systems, two display devices are used; one for each eye (see Figure 3.4).. Static polarization filters are used to polarize the left and right eye images from thee projectors while the users wear low cost, lightweight polarized glasses to direct thee left/right images into the correct eye. Again, linear polarization is used in most 56 6 TheThe UvA-DRTVE virtual reality system casess so that the users must keep their head aligned with the polarization filters to avoidd image bleed. Circular polarization filters exist that do not exhibit this problem butt these are very expensive and adversely influence image brightness.

host t videoo L projectorr J polarizedd glasses

videoo R projector Wl,r Wl, polarization n filtersfilters „„,.

FigureFigure 3.4: Passive stereo using two projectors, polarization filters and polarized glasses. glasses.

Thiss solution requires "dual-headed" support by both the software and the hardware' ass two graphics adapters are used. Another disadvantage with using two projectors is thatt the projectors need to be accurately aligned. With a single projector, calibration iss considerably easier. Inn any polarization system, special care has to be taken with the choice of screen materiall since most projection screens adversely influence the polarization direction off incident light. This is especially the case with the use of back-projection systems andd even more so with circular polarization.

3.3.22 High performance 3D graphics adapters Graphicss hardware performance has increased dramatically over the last years. Al- thoughh this hardware was mainly intended for use in games, the capabilities of these adapterss make them very well suitable for scientific visualization and in some cases rivall the capabilities of commercial solutions. With the introduction of 3D accelerated chipsetss that include hardware support for 3D operations such as linear transforma- tions,, lighting and depth buffering, powerful graphics hardware is now within reach off everyday consumers.

OpenGL L OpenGLL is the premier environment for developing portable, interactive 2D and 3D graphicss applications [261]. With its low-level software interface, OpenGL has often beenn called the "assembler language" of computer graphics. Applications in many domains,, including entertainment, manufacturing, medical imaging and more, have

fNotee that most graphics adapters for PCs use the AGP interface while no PC motherboards existed att the time of writing which have more than one AGP slot. 3.33.3 Design options for a VR architecture 57 7 benefitedd from OpenGL's multi-platform accessibility and depth of functionality. Since SGII introduced OpenGL, it has grown into the leading cross-platform graphics Appli- cationn Programmer's Interface (API).

Hardwaree acceleration OpenGL'ss design lends itself very well for hardware acceleration. Hardware accel- eratedd graphics adapters have been available for SGI systems since the early days off OpenGL. But mostly due to the advances in the gaming industry, semi-conductor manufacturerss are now rapidly closing this historical gap and in some cases surpass thee performance of SGFs hardware. Forr most high-end graphics adapters, hardware accelerated OpenGL support for var- iouss operating systems is available either directly from the vendor or through third- parties.. However, this support is in some cases experimental and lacks features that aree desired for VR purposes (such as stereo support).

Stereoscopicc 3D Thee essential part of stereoscopic rendering is the generation of two video streams; onee for the left eye and one for the right eye. The task of generating and managing stereoo pair video streams should not be the responsibility of the application developer. Instead,, this should be fully transparent to the developer. Thee common approach taken by most graphics adapter manufacturers is to use four framee buffers; images for the left and right eye are drawn into a "back" buffer while thee user looks at the left and right images in the "front" buffer (commonly referred to ass "quad buffered stereo"). While most 3D graphics adapters support quad buffered stereoo in hardware, this support is not always reflected in the driver software for some operatingg systems. In cases where no quad buffered stereo support is available, an- otherr method must be used to generate stereo pairs. For the display options described inn section 3.3.1, there are a number of alternatives.

Stereoscopicc 3D using X Windows Thee de facto standard graphics system for Unix environments is the X Windows system.. X Windows uses the concepts of hosts, displays, screens and windows (ar- rangedd from broad to narrow scope, see Figure 3.5). X Windows is able to access anyy graphical display on a connected system using an identifier of the form : ,s- namoo : d ; sp } ayrrjmK'Or . scr eenrurrber. Usingg X Windows, we can opt for one of the following configurations to generate stereo imagee pairs: 58 8 TheThe UvA-DRTVE virtual reality system

FigureFigure 3.5: The X Window system concept of hosts, displays, screens and windows.

Twoo hosts, two graphics adapters:

hostl:0.00 host2:0.0

hostl l ff \ host2 2 left t right t ii q

ii i [—i—i— — / / — —

network k

Heree two hosts are connected via a network, each equipped with a graphics adapter andd display device (a monitor or projector). Using a display identifier as described earlier,, each host can access the other host's display;. This configuration is suitable forr use in a passive projection system (see Figure 3.4). Thee greatest advantage of this configuration is that left and right eye images can bee rendered by each graphics adapter in parallel, which can improve performance. However,, in practice, one of the two hosts will run the VE application which computes thee view for both the left and right eye. Then, it renders its own view on its local adapterr and the other view is sent over the network. The other host then only has to renderr the graphics that it receives over the network. This implies a load imbalance whichh may result in synchronization problems if no countermeasures are taken. AA possible solution to these synchronization problems would be to run the application onn a third system, but in that case network traffic doubles since now rendering infor- mationn for both eyes must be communicated.

'Thee X Window implementation should support the GLX protocol in order to run OpenGL applica- tionss over a network. 3.33.3 Design options for a VR architecture 59 9

Onee host, two graphics adapters:

hostll :0.0 hostl:: 1.0 ( ( \ \ hostl l ff \ left t D D right t

^^ j

HH >-. I I HH ^ Inn principle, the synchronization problems described above would be solved by us- ingg two graphics adapters in one host (parallelism is then sacrificed, of course). In thatt case the application renders the left/right views to two displays that reside on thee same host. However, this configuration can not be built from commodity hard- waree since (as noted earlier) most graphics adapters use the AGP interface while PC motherboardss only have one AGP slot. Some graphics adapters exist for a PC's PCI interface,, allowing an additional card to be added, but it should be noted that the performancee of these cards is often substantially less than that of AGP based cards (mainlyy because of the lower bandwidth of the PCI bus), again resulting in synchro- nizationn problems.

Onee host, multi-headed graphics adapter:

hostll :0.0 hostll :0.1

Multiplee screens on the same host can be achieved by using a graphics adapter with multi-headd output. Synchronization can be controlled since the two views are com- putedd on one host and rendered to two outputs on the same graphics adapter. Caree should be taken that the operating and graphics system include multi-headed supportt (for example; XFree86, an X window implementation available for various operatingg systems, supports multi-head since version 4.0.1, released late 1999, but it doess not support accelerated OpenGL to both heads). 60 0 TheThe UvA-DRTVE virtual reality system

Onee host, one graphics adapter and sync-doubler:

hostl:0.0 0

f f hostl l

left t D D PK«*;«««V!'.-:V. . ff ; !

11 right j j 11 1

Specializedd hardware in the form of a "sync-doubler" can be incorporated in cases wheree none of the alternatives described above can be applied. A sync-doubler is a devicee that accepts as input a video signal of X Hz, and outputs a signal of 2X Hz, wherebyy the frames are constructed by using the top and bottom half of the input imagee in an alternating fashion. The top and bottom halves often need to be separated byy a number of blank lines. Thiss simplifies the task of generating a stream of mixed video frames to generating a videoo stream composed of top/bottom halves. A drawback of the sync-doubler method iss that vertical resolution is halved.

3.3.33 Tracking and input devices Positionn and orientation are typically determined through six degrees-of-freedom (DOF)) tracking sensors (or "trackers"). A tracker mounted on the user's head allows aa VR system to provide user centred projections that correspond to a user's displace- mentss ("motion parallax"). A hand tracker allows the user to interact with virtual objects.. VR input devices often combine trackers with a number of buttons that allow thee user to convey intention to the VE, similar to the buttons on a mouse on personal computers. . Theree are different types of tracking systems, each based on different acquisition tech- niquess such as magnetic, acoustic, optical and inertial trackers. Each of these have theirr strong and weak points but to describe these would go far beyond the scope of thiss chapter. By far the most popular in VR systems are the magnetic tracking sys- temss built by Ascension and Polhemus. Although these tracking systems have been inn existence for many years, they are still very expensive due to the unavailability off acceptable alternatives. A positive side effect of this is that they are supported by nearlyy all VR application development environments.

3.3.44 Software availability Sincee most of our previously developed software runs on Unix operating systems and makess use of OpenGL, SGI's OpenGL|Performer, VRCO's CAVE library, Kitware's 3.33.3 Design options for a VR architecture 61 1

Visualizationn Toolkit and DMSO's High Level Architecture, a prerequisite is that this softwaree is available for the new architecture. OpenGLL has already been described in section 3.3.2. The following provides a brief overvieww on the other software packages.

OpenGLL \ Performer OpenGLL Performer is a programming interface for creating real-time visual simula- tionn and other performance-oriented 3D graphics applications [190]. It simplifies the developmentt of VR applications through a low level library providing rendering func- tions,, a scene graph and rendering system, functions for defining both geometric and appearancee attributes of three dimensional objects, user-interface components and supportt for many popular industry standard database formats. OpenGL Performer is currentlyy available for IRLX and systems. support will be addedd in version 3.0 which is scheduled for release in late 2002.

Thee CAVE library (CAVELib) CAVELibb is an Application Programmers Interface (API) that provides general sup- portt for building virtual environments [249]. CAVELib configures display devices, synchronizess processes, draws stereoscopic views, creates a viewer-centred perspec- tivee and provides basic networking between remote Virtual Environments. A flexi- blee configuration method makes programs written with CAVELib portable to a wide- varietyy of display and input devices without rewriting or recompiling. CAVELib cur- rentlyy supports most common Unix systems. Microsoft Windows support was added inn 2002.

Thee Visualization Toolkit (VTK) VTKK is an open source, freely available software system for 3D computer graphics, imagee processing, and visualization [209]. The design and implementation of this libraryy has been strongly influenced by object-oriented principles. VTK includes a C+++ class library containing over 500 visualization objects, and several interpreted interfacee layers including Tel, Java, and Python. VTK runs on nearly every Unix basedd platform and Microsoft Windows.

Thee High Level Architecture (HLA) Thee High Level Architecture (HLA) aims to establish a common architecture for sim- ulationn to facilitate interoperability among simulations and promote the reuse of sim- ulationss and their components [165]. As a successor to the DIS (Distributed Interac- tivee Simulation) protocol, HLA provides a robust architecture with which distributed discretee event and other types of simulations can be designed. One particular im- plementationn of HLA, the Run Time Infrastructure (RTI) developed by the Defense 62 2 TheThe UvA-DRIVE virtual reality system

Modelingg and Simulation Office (DMSO, United States Department of Defense), is supportedd on all major computing platforms.

3.3.55 Computing hardware

Thee computing hardware performs the main processing in the system, delegating hardwaree specific tasks to dedicated subprocessors. For a high performance VR sys- tem,, the components used in the computing hardware should be selected with some care.. For example; as most VR applications benefit from a multi processing design, thee performance of the system as a whole can be increased by applying a multi- processorr design. The easiest multi-processor solution would be a Symmetric Mul- tiprocessingg (SMP) architecture in which all processors share the same resources in thee system. Although the maximum number of processors in an SMP architecture is limited,, it makes porting of existing software far easier when compared to distributed multi-processorr systems where some form of synchronization will need to take place. Becausee graphical performance is important in VR applications, the communication buss between the main CPU and the graphics adapter should be of sufficient band- widthh to handle all data communication within the time constraints imposed by the application.. One particular example of a bus architecture in which the communica- tionn bandwidth between the main processor and the graphics adapter is optimized cann be found in most personal computers (PCs), called the Accelerated Graphics Port (AGP).. The initial implementation of AGP allowed for a peak bandwidth of 264 MB/s whichh was almost double the 133 MB/s bandwidth provided by the main PCI bus foundd in PCs at that time. In later versions of AGP, bandwidth was increased further byy allowing multiple data transfers per clock cycle which resulted in bandwidths of 5288 MB/s (for AGP 2x), 1056 MB/s (for AGP 4x) and 2112 MB/s (for AGP 8x). Mostt manufacturers of computing hardware have taken some, or all of these issues intoo account in their designs. Mass acceptance has caused PC technology to be able too rival, both in terms of performance and quality, that of large commercial computer hardwaree manufacturers but at a significantly lower price. In addition, PC based hardwaree allows high flexibility and scalability in the sense that hardware can be replacedd by newer (in general; faster, better) hardware easily and at low cost as soon ass it is available.

Operatingg system

Severall operating systems are available for Intel processor based PC platforms, in- cludingg IRIX, Solaris, various flavours of BSD and Linux. However, not all of these providee both the hardware and software support required for compatibility with the VRR applications as described in section 3.3.4. The Linux operating system in this respectt provides the most complete support. 3.43.4 The design ofUvA-DRIVE 63 3 3.44 The design of UvA-DRIVE

Afterr careful consideration of the requirements posed in section 3.2 and the design optionss outlined in section 3.3, we have opted for an Intel PC based computing system inn conjunction with an active shutter glasses system as shown in Figure 3.2. The operatingg system running on this system is Linux. A first prototype of our design wass built by SARA in 2001, called the Linux Immersive Environment (SARA LIE). Multiplee systems have been derived from this prototype, including UvA-DRIVE. Unfortunately,, at the time of construction, none of the drivers for OpenGL accelerated adapterss that were supported under Linux contained quad buffered stereo support*. Ass an intermediate solution for the prototype, we use the "sync-doubler" technique describedd in section 3.3.2 to generate stereo pair video streams. The sync-doubler also drivess an infrared transmitter that switches the shutter glasses. As we have opted too use an active stereo approach, the system requires only one projector. A schematic representationn of the architecture is shown in Figure 3.6. Table 3.1 provides a list of componentss and specifications of both SARA LIE and UvA-DRIVE compared to the SARAA CAVE.

screenn head tracker handd tracker

host t infraredd emitter L/Rii 1 V- videoo | I | 2vsync svncc douhier projectorr \

D D tracking g

interactionn device FigureFigure 3.6: General setup of the VR architecture: an active stereo projection system us- inging sync-doubling technology and an interaction system based on tracking hardware.

3.4.11 Top-bottom stereo with CAVELib Sincee all previously developed VR software is based on VRCO's CAVELib, we have chosenn to use CAVELib to minimize porting effort. Using CAVELib, the application programmerr can ignore technicalities like the number of projection screens, the setup off the projection screens, the mono/stereo properties of projection screens. Instead, thee application developer can focus on that what matters: the 3D scene. How this 3D scenee is conveyed to the user is irrelevant from the developer's point of view. CAVELibb has a feature that allows the rendering for left/right eye to be performed at aa specified sub window of the physical screen. Also, CAVELib supports applications

^nVidia^nVidia (a manufacturer of high performance graphics chips used in many PCs today) released Linuxx drivers with quad buffered stereo support on September 10, 2002 (version 1.0-3123) [173]. 64 4 TheThe UvA-DRIVE virtual reality system

SARAA CAVE (1997) SARAA LIE (2001) UvA-DRIVE (2002) J CPU U 88 x MIPS R10000 22 x Intel Pentium-Ill 2 x Intel Pentium-Ill CPUU clock 1955 MHz 7000 MHz 1.0 GHz architecture e Onyx2 2 ASUSS P2B-D, SMP ASUSS CU4VX-D, SMP Realityy Monster Intell 440BX chipset VIAA Apollo Pro chipset memory y 11 GB 256 MB, 100 MHz FSB 11 GB, 133 MHz FSB graphics s 44 x InfiniteReality2 Creative Labs ASUSS V7700 (modified) nVidiaa GeForce2 GTS nVidiaa Quadro2 Pro gfxx memory 44 x 16 MB 322 MB video memory 644 MB video memory CPU—gfxx bus 8000 MB/s 528 MB/s (AGP 2 x) 5288 MB/s (AGP 2x) projector r Electrohome e Electrohome e Electrohome e Marqueee 8500 Marqueee 8500 Marqueee 8110+ screens s 44 (CAVE) 11 (IDesk) 11 (ImfinityBox) tracking g Ascensionn FoB Ascensionn FoB Polhemuss Fastrak fourr sensors twoo sensors twoo sensors OS S IRIXX 6.5 Linuxx Debian ("sid") Linuxx RedHat 7.3 kernell 2.2.18 kernell 2.4.19 software e XX Windows XFree866 4.0.2 XFree866 4.0.1a OpenGLL 1.1 nVidiaa GLX 0.9-6 nVidiaa GLX 1.0-2960 Performerr 2.3 Performerr 2.3 Performerr 2.3 CAVELibb 2.7 CAVELibb 2.7 CAVELibb 3.0.1 TableTable 3.1: Comparison of components and specifications of the CAVE, SARA LIE and UvA-DRIVE. UvA-DRIVE. thatt use OpenGL)Performer. This creates two additional advantages: minimal port- ingg effort for the migration from SGI (CAVE) to Linux, save a recompilation of the sources,, and also good possibilities for performance measurements comparing SGI andd PC based VR. XFree866 was configured to run at 1024x1576 resolution with a colour depth of 24 bitt per pixel. This means, that after sync-doubling, (1576-40)/2 = 768 pixels remain inn the vertical direction1; the same as on the SGI Onyx platform used in the SARA CAVE.. We have found that a vertical sync of 85 Hz (170 Hz when doubled) is possible, providedd that a high quality projector is used.

3.4.22 Performance measurements Wee have run benchmarks with full tracking support and stereo vision support. The programm to test the performance is an application developed by SARA, on top of VRCO'ss CAVELib. Inn benchmark A, the dataset consists of 16 animated objects. Each object consists off 9120 triangles (a total of 145920 triangles), organized in 405 triangle strips. In benchmarkk B, the dataset consists of a surface model extracted from an Computed

^Thee sync-doubler requires 40 blank lines between windows. 3.53.5 Conclusions 65 5

Tomographyy (CT) dataset using a surface extraction algorithm. The dataset contains 2044800 triangles, organized in 39134 triangle strips. TwoTwo platforms were used for benchmarking. The first is SARA's CAVE facility; an SGII Onyx2 Reality Monster with 8 R10000 CPUs at 195 MHz, running IRIX 6.5. Thiss system is equipped with 4 InfiniteReality2 graphics pipes. For benchmarking, wee disabled all but one screen. The CAVE ran the benchmarks at a stereo 1024x768 resolution,, 60 Hz refresh rale (120 Hz stereo), and full screen anti-aliasing. Thee second system is the SARA LIE system described in section 3.4, and ran the benchmarkss at a stereo 1024x768 resolution, 58.4 Hz refresh rate (116.8 Hz stereo), andd without full screen anti-aliasing1'. Both tests did not include texture mapping. testt A test B CAVE E 13.3 3 5.5 5 SARAA LIE 11.7 7 6.3 3 TableTable 3.2: Performance in frames per second of the SARA CAVE and the SARA LIE prototypeprototype in two tests.

Thee results (see Table 3.2) show that there is no significant performance difference betweenn the two platforms. The PC based system performs better on test B. This is mainlyy due to the fact that a single Intel CPU has a better floating point performance thann a single MIPS CPU [181].

FigureFigure 3.7: The UvA-DRTVE system.

3.55 Conclusions

Immersivee VR on commodity hardware shows great promise. Although not all the re- quiredd hard- and software components for a single screen immersive VR system based

Althoughh the nVidia GLX implementation supports anti-aliasing, we could not get CAVELib for Linuxx to enable this mode. 66 6 TheThe UvA-DRIVE virtual reality system onn commodity-of-the-shelf are available yet, progress is made or satisfactory alterna- tivess exist. Our first experiences show that a PC based system is a viable alternative too established VR systems. We have shown that graphics performance for PC based solutionss is in the same order as that of high-end VR systems and is therefore no longerr a criterion for choosing one solution over the other. Moreover, compatibility withh existing VR applications is provided with currently existing solutions. Because PCC based VR systems are affordable, offer adequate performance and are compatible withh high-end VR systems, a host of new application domains now comes in reach. Currently,, work is in progress at the Section Computational Science for the construc- tionn of a PC based near-field VR system called the "Personal Space Station" (PSS). Thiss design by Mulder et al. uses a conventional computer display in combination withh a mirror and a camera based tracking system [168] (see also [213] and [186]). As thiss design does not use a projector or a large projection screen, it can be built at sig- nificantlyy lower cost and is suitable for personal use in a normal office environment. A PSSS is well suited for applications in which direct, hand-eye coordinated interaction withh virtual objects is important.