CAVE6D - A Tool for Distributed, Interactive, Immersive Vizualization of Environmental Data
 
 

 

Masters Project Report
By
Abhinav Kapoor
(BE - Motilal Nehru Regional Engineering College, Allahabad, INDIA )
Project Advisors:
Dr. Andrew E. Johnson
( Asst. Professor, EECS )
&
Dr. Jason Leigh
( Senior Scientist - Electronic Visualization Laboratory )
Submitted as partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering and Computer Science in the Graduate College of the University of Illinios at Chicago.
Chicago, Illinois, 1999


 

Contents


Acknowledgements ......................................................................................... 3

1.Introduction  ....................................................................................................4

 

2.CAVE5D ..............................................................................................................4

 

3.CAVERNSoft ................................................................................................... 5

 

4. CAVE6D - Collaborative Extension of CAVE5D ................................ 6

 

5.Collaboration in CAVE6D. ............................................................................6

 

6.Implementation ...............................................................................................11

 

7 Observations ................................................................................................ 16

 

8.Using CAVE6D. ............................................................................................ 18

        8.1Requirements ............................................................................ 18
        8.2Compile Instructions ............................................................. 18
        8.3Running Instructions. ........................................................... 19
        8.4Interaction. ................................................................................ 22
 

9.An example walkthrough of the Chesapeake Bay in CAVE6D ......... 25
 

10.Related Links. ............................................................................................. 30

 

11.References:  ................................................................................................31


 

Acknowledgements:

 

I am highly indebted to my advisors Jason Leigh, and Andy Johnson for giving me all the help I needed at the various stages of this project, and my stay in EVL on the whole. I would like to express my special gratitude to both of them for sharing their knowledge and creative ideas with me, especially the inspirational discussions with Jason which seems to be there always in my mind motivating me to improve myself on all fronts. Jason's 'just do it' attitude has changed my approach of dealing with things tremendously. With their guidance I have really learnt and grown up a lot, from what I was when I came to EVL 2 years ago.

My special thanks goes to Maxine and Tom for supporting me, and providing the extraordinary environment and equipment to work with, to Jim for coming to help to teach and trouble shoot the audio set up for the infinite number of demonstrations this project has gone through, to Mohammed for coming out to help on lots of occasions, and to Sam for creating the logo for CAVE6D.

Also I would like to thank all the students of EVL for being very helpful and accommodating and above all, very nice friends.

1. Introduction:

Cave6D, co-developed by Abhinav Kapoor, Jason Leigh, and Andrew E. Johnson, at the Electronic Visualization Laboratory, is a Collaborative Scientific Visualization Environment, that allows multiple users of Cave5d to share a same environment and  interact with each other synchronously. It uses CAVERNSoft architecture to provide the collaboration between the multiple users in the CAVE5D environment.

2. CAVE5D

CAVE5D, co-developed by Glen Wheless and Cathy Lascara from Old Dominion University and Dr. Bill Hibbard from the University of Wisconsin-Madison, is a configurable virtual reality (VR) application framework. Cave5D is supported by Vis5D, a very powerful graphics library that provides visualization techniques to display multi-dimensional numerical data from atmospheric, oceanographic, and other similar models, including iso-surfaces, contour slices, volume visualization, wind/trajectory vectors, and various image projection formats. The data is in the form of a five dimensional rectangle, 3 dimensional gridded space, one time dimension and one dimension which is an enumeration of multiple physical variables as mentioned above. Figure 1 shows Cave5D being used to view results from a numerical model of circulation in the Chesapeake Bay. The Cave5D framework integrates the CAVE VR software libraries with the Vis5D library in order to visualize numerical data in the Vis5D file format on the ImmersaDesk or CAVE and enables user interaction with the data. A set of Interface Panels, enable the user to activate the objects to be visualized, control the time clock, or change the x, y, z scales of the world. Hence CAVE5D as it exists, is an application that allows visualization and some interaction with the data. It does not however provide any form of  synchronous/asynchronous means to interact together with other people.

 
Figure1. CAVE5D being used to show the visualization of the numerical models at the Chesapeake Bay.

3. CAVERNSoft:

CAVERNSoft provides the software infrastructure for supporting Collaboration in CAVE5D. It retrofits CAVE5D, previously a non Collaborative application, with Tele-Immersive capabilities.  The existing functionality of CAVERNSoft is too extensive to describe here. See the CAVERNSoft homepage, at http://www.evl.uic.edu/cavern for more details.

Briefly, this framework employs an Information Request Broker (IRB) as the nucleus of all CAVERN-based client and server applications. An IRB is an autonomous repository of persistent data managed by a database, and accessible by a variety of networking interfaces. This hybrid system combines the distributed shared memory model with active database technology and real-time networking technology under a unified interface to allow the construction of arbitrary topologies of interconnected, tele-immersed participants.

 

4. CAVE6D - Collaborative extension of CAVE5D

Cave6D emerges as an integration of CAVE5D with CAVERNsoft [3,4,5] to produce a TIE that allows multiple users of CAVE5D to share a common data-set and interact with each other simultaneously. Any CAVE5D compatible data ie. any Vis5D format data, can be opened for a collaborative visualization session with CAVE6D. Besides having the user-data interaction as in CAVE5D, it also provides a user - user interaction between multiple participants, each running their separate instance of the visualization session. The current version of CAVE6D can support a maximum of 5 users

 

5. Collaboration in CAVE6D

An instance of collaboration in CAVE6D has the following characteristics

Fig 2. A typical collaborative session involving 4 users in the Chesapeake Bay.
 

Fig. 3.a. -User 1 working independently.                                       Fig. 3b. User 2 - Working independently.

 

 

Fig3.c - User 1 shares User 2?s perspective for the Temperature Slice

Fig. 3.d. User 2 presses the Global switch for the Temp. Slice

Figs. 3. Using the global switch - Figure 3.a shows the Temperature Slices over the Rockies, but when the second user makes the Temperature slice global ( 3.d) the slices are synchronized with the second user?s setting, and move to the east coast.

 
Fig. 4 - The Interface to turn the variables Global.
( The graphical parameters listed are specific to a particular data )
 

Virtual Director, developed by Bob Patterson, Donna Cox, and Stuart Levy at the NCSA, is an application that also provides the synchronous collaborative capability to CAVE5D to some extent. Virtual Director, acts as an interface between real-time data and user desired actions to enable animation recording, steering and editing, thereby allowing archive and playback of sessions in virtual space, which could be of immense help in the remote training and analysis sessions. Though Virtual Director provides these additional functionality of recording and playing back a session, it is very limited in terms of the collaborative abilities it provides. The users have no capabilities to partition the dimensions of the data they are visualizing  in terms of making the parameters synchronized selectively, the way CAVE6D provides it with its feature of setting the parameters global/local. Virtual Director avatars do not convey a lot about the remote users identity and about their activities in the environment. They do not possess a long pointer to show selections and localization of an area of interest in the data.

A collaborative visualization session of CAVE5d using Virtual Director
 

6. Implementation
 

As mentioned earlier, CAVE5D, a non-collaborative application was retrofitted with TeleImmersive capabilities using CAVERNSoft, to produce CAVE6D. CAVERNSoft employs the Information Request Broker (IRB) [3,4,5] (Figure 5) which provides a unified interface to all the networking and database needs of the collaborative environment to support the distribution of data across the clients. Each Client/Server has its own 'personal' IRB, which is used to cache data retrieved form the other IRBs. Creating a communication channel, between the personal IRB and the remote IRB and declaring its properties does this. Once the channel is set up, a number of keys can be created across the channel, and linked together by giving them a unique identification. A Key acts as a sort of a handle to the storage location in the IRB's database. Each key can be assigned to a specific data to be transmitted across the network. These can then be set to trigger a callback whenever they get filled by some data,  which can then transmit the data to the remote key through the link. This way the personal IRB transparently manages data sharing with the remote subscribers. Any information received by a key is automatically propagated to all the other linked keys.

An IRB Interface present between an IRB and the  application provides a tightly coupled mechanism to automatically transfer messages between the two. In Cave5D however, this idea could not be properly exploited due to a conflict in the integration of CAVE5D and CAVERNSoft. CAVERNSoft is based on pthreads (the POSIX threading model)  which are not supported by the 'sproc' model of threading, as used in CAVE5D. Thus the IRB interface could not be embedded directly into CAVE5D. Instead a shared memory arena was used between them (Figure 6). Two shared memory arenas are created for each location. The IRB writes the data it gets from the remote IRB on one of them, which is read by the local CAVE6D application, which writes its data onto the other shared memory block, for the IRB to read.

 

Fig. 5. The Architecture of the IRB - Information Request Broker [3]

 

 

 

Fig. 6. High Level Information Flow Diagram used in CAVE6D.

The application writes data into the shared memory at a particular frequency, which could keep pace with the CAVERNSoft IRB reading speed (in the current implementation it writes once in 5 computations). The IRB stores the information into the corresponding keys. The IRB then updates the respective keys at the remote end. The frequency at which the IRB sends information across the network is governed by a lot of factors such as the network conditions, and the local processor power. For slow networks / processors the IRB should send information at a lower rate.

The content of the information sent across the network is as shown in Figure 7 Each instance of the application maintains a list of all the active avatars present in the environment, and stores their data. It sends the packet that has its own state information and receives such packets from all the active avatars. This way it updates its list every time it receives a packet from an avatar. The data packet consists of:

 

Id - identifies the packet,

Tracker co-ordinates are used to draw the avatar.

Time stamp values help to synchronize the simulation at each stamp. The values received by the remote locations is compared with the time of the local clock, and set to the highest of them. This methodology makes the slower one catch up with the others every time stamp, and prevents the faster to go back in time to synchronize with the slower ones.

States of the buttons indicates if a particular global/local switch button is turned on, and if it is then make the corresponding graphical parameter synchronized.

This synchronization is done by using the Location of the parameters, for the participant who is moving, and making it the same at all the instances of the application, across the network. The application then reads the data corresponding to this location (grid location) and displays it.

It is to be noted that the current state values are passed to the remote instances of the application, rather than the events. For example instead of sending one move event, when an object moves, the current position co-ordinates are sent continuously, so that new participants can join the session anytime, and still be in synch with the others.

An effective locking mechanism is needed to deal with the parameters when in the global state. In global state, all the immersed participants can manipulate them equally, but two people should not be able to do that at the same time. Strange results would be seen if they try to move a global parameter in the opposite direction at the same time. In order to avoid such a situation CAVE6D temporarily gives the lock to the user who started moving it first, and then takes the lock back as soon as the move event is over.

The color of the avatar is decided at run time, if the user does not specify it. At the start of the application it waits to see who all are there in the environment( by just receiving the packets and not sending them), and based on that it assigns an unused avatar color to itself.

 
Fig. 7. Content of the Data Packet sent across the network.

A Shared Centralized Network topology is used in CAVE6D, wherein all the clients connect to a server. All the client IRBs invoke a link to send the information to this central server IRB.  Each client links a key to the central server's key, the latter being capable of accepting links from all the clients. Each client IRB transmits continuous packets of data of the local state information to the server, at constant small time intervals. The server on the other hand, receives all these packets, and each time it receives such a packet it sends this packet to all the connected clients. It also sends its own local information, at constant time intervals like the other clients. In this way, each client gets information of all the other connected remote clients.

Both TCP and UDP protocols are used. A TCP channel is used to pass data such as time stamp, and the button states, as they are very crucial, and none of the packets should be lost. A loss of a time stamp value, could cause the simulation to jump a valuable step, or a missing button state value might cause to lose a global / local switch event. The tracker values and the parameter state values can be sent however through the UDP channel to save overhead. These values if lost would not cause a big damage. The following packet would restore the state of the parameters and the avatars, even if an earlier one is lost.

 

7. Observations

CAVE6D has been demonstrated at a number of conferences (including NGI, Internet 2, Alliance?98, HPDC? 98, SuperComputing?98 etc.), where collaborative demos were carried out between the exhibit floor and a number of remote locations. Besides these, other various collaborative sessions have been conducted using CAVE6D, which produced some interesting observations about how people used the application and its features, which kinds of existing collaborative abilities they liked, and what more they expected in such a collaborative visualization session. These provide valuable suggestions to the design of a collaborative visualization application. Some of them are enumerated below. Generally there were 2 kinds of scenarios - one in which a member of the session is a teacher or a guide, and the others are students or tourists; the other scenario was where the participants are closely related in their knowledge of the environment, and are performing an exploration of the data, and collaboratively correlating what they see in the environment.

It is to be noted that all the above observations are made during the various collaborative sessions, and are not any experimental results. Work is in progress, however to study human performance in collaborative visualization, and the find out how people use the Multiperspective aspects in CAVE6D, by means of actual experiments.

 

8. Using CAVE6D
 
 8.1 Requirements:

  Hardware - The distribution package needs 25MB of space, which has in it 2
                         demonstration data set files. The Chesapeake Bay data set is another 250MB. Would be best viewed on
                          an  Idesk driven by SGI Onyx 2 / Octane.

    Software  - CAVE Library, CAVERNSoft Library, pthreads patched IRIX Operating System over 6.3. It has been
                            successfully tested on IRIX 6.3, 6.4, 6.5, 6.5.2.

    Network - The data sent across the network consists of 1.7 K bytes. CAVE6D allows the users to set the frequency with which the data is to be communicated through the network. A typical frequency is 10 packets a second, which would need a bandwidth of 17 K Bytes per second.
 

8.2 Compile instructions:

Certain paths in the Makefile would need to be changed
to point to the libraries and includes on your system
(See Makefile)

then type

make cave6d
(to compile cave6d)

then type
make irbsend
(to compile irbsend)
 

 

8.3 Running Instructions:

In CAVE6D one machine will act as the server and all
the others, will link up to it as clients.

1. CAVE6D running as the server

On the machine which is designated to be the server, eg. on
laurel, type :

irbsend &

This process should be started before anything else, and can be kept running on itself without the application, so that all the clients can link up to it and establish the connection at any time.

After the irbsend process is ready ie. after it prints a message:

"READY ... RUN CAVE6D NOW..."

the application can be started. The information on how to run the application is mentioned below.
 

2. CAVE6D as a client

On the machine which would be the client, eg. hardy, and connecting to the server eg. laurel,
type the following on the client ( hardy)

irbsend laurel &

Again, when the irbsend prints the message ..
"READY ... RUN CAVE6D NOW..."

CAVE6D application can be started.
 

NOTE: The irbsend uses the default frequency of sending 10 packets
      a second, to the remote end. The frequency can be set from the
      command line, using the following command:
 
      irbsend [server-name] [ -<f || freq || frequency <rate ]
 
      where rate is the frequency rate you might want to set,
      and any of -f , -freq or -frequency option can be used, before
      it. eg.
 
      irbsend -f 15 & ( for the server irbsend process sending at
         15packets/sec.) or
 
      irbsend laurel -f 15 & ( for the client process )
 
      irbsend laurel -frequency 20 ( for client process sending at
               20 packets a second )
 

3. Running CAVE6D

The Command line for cave6d is:

cave6d <config-file> <name> [avatar-color]

where <config-file> is the path to the data-set file (see below).
      <name> is the name of the user,
      [avatar-color] is OPTIONAL and need not be mentioned,
                     unless you want your avatar to be of a
                     particular color.
Currently CAVE6D can connect upto a maximum of 5 participants. The
avatar-color could be one of cyan / magenta / red / blue / white.

4. Config Files

There are 2 sample data sets included in the package:
a. demos/lamps.cave5d
b. demos/tstorm.cave5d

The command line config-file could be one of these files.

The Chesapeake Bay dataset is around 250 MB, so it is not included this package, but can be obtained separately on request. It is included in the CAVE6D CDROM.

To prepare a config-file to be used by cave6d, it should have the  proper paths to all the data files. So you must open the relevant  .cave5d file and see if all the paths are mentioned correctly.

The first data set, the lamps.v5d dataset was generated by the Limited Area Mesoscale Prediction System around1986, and thus represents an early effort at mesoscale weather prediction. It shows warm and cold fronts moving across the continental United States, as part of a simulation of an extratropical cyclone.
 

 

8.4 Interaction:

  1. Press the left mouse button to bring up the main menu- the Master menu ..

  2.    The various menu items in it are as follows :
Release Version
     Identifies release number of cave5D. Clicking on this button toggles between the

two rotation styles: object and airplane.

 

Graphical Objects
     Display the panel with graphical objects.

 

  ScaleX
  ScaleY
  ScaleZ
     Toggle scaling of X,Y,Z dimension on/off.

 

   Fast
      Increase the animation speed.

    Slow
     Decrease the animation speed.

     t=0
     Reset to first timestep.

     >
     Move forward one timestep

     >>
     Toggle animation On/Off

     Close
     Close this panel.

     Exit

Exit the application.

 

 

8.4b Wand Interactions:

  1. Rotation:  to rotate the scene around , press the middle wand button and move the

  2. wand in the direction on intended rotation.
  3. Move Slice ( Graphical Objects ) - The objects to be moved should be in the movable state ( indicated by black text on yellow  background ) and then moved by clicking on the right mouse button, and moving the wand in the direction of the new position on the Slices. To make an object movable, 2 clicks are needed from the off state or one more click after turning them on. eg. to open Horz_HSLice in the movable state, click on it twice, and then move the wand up/down to move the plane up/down.
  4. To make the  graphical objects  global ( seen in the same position and the state by all the participants )  turn on the corresponding G/L  option  on the graphical object menu ( ie blue text over yellow background ) . If they are Local ie. yellow text over blue background,  then you can move them without changing the remote users' view.
 

 

 

9. An example walk through of Chesapeake Bay data set in the CAVE6D environment.

 
Map of the Chesapeake Bay Region
 

The Chesapeake (means Great Shellfish Bay from the Algonquin Indians) Bay is the largest estuary in the United States and serves as nursery grounds or spawning areas for many commercially important species [LIKE: Blue crab and oysters].    It is one of the most productive and commercially important but a threatened ecosystem. There is an abundant growth of pelagic, benthic and vegetative communities, all of which are affected by seasonal and annual variations in the circulation, environmental forcing and inputs of nutrients from the local watershed. Also, the urbanization of the surrounding watershed is harmfully affecting the Chesapeake Bay ecosystem.

The Chesapeake Bay Virtual Environment is the answer to a need for an application which could simulate such governing factors and their effects on the ecosystems, and could provide the users to examine the output in a clear and concise manner. The Chesapeake Bay data set is generated using the Princeton Ocean Model, a three dimensional hydrodynamic circulation model.   The model solves the time-dependent, nonlinear equations of motion in a free surface formulation as well as the governing equations for temperature and salinity. The data is a fifteen day simulation of the effects of winds, tides and river runoff on the general circulation features of the Chesapeake Bay and on the transport of passive larval fish in to the Bay from the adjacent continental shelf. The  data describes the temporarily varying 3D fields such as salinity, temperature, density, velocity etc. from the circulation model. This data set, which consists of these numerically generated outputs, and other observations  is then loaded up in the CAVE6D application which provides a multiuser, collaborative,  interactive 3D visualization environment for the Chesapeake Bay.

Walkthrough Instructions:

1. Click on the left wand button to bring up the menu. Then click on the 'Graphical Objects' Panel, to bring up the graphical objects panel.

There would be lots of different parameters in the graphical objects panel. Click on the 'topography', the ''contour salinity', 'surface_Horz_Vec' and 'tracers_iso' buttons.

 

Some of the buttons and their meanings are:

                                                                                                          Topography - The terrain of the data.

surface_Horz_Vec -  is the water tide velocity at the surface of the water.
On making this movable it can be moved up/down  in the depths of water. The more  the plane of this parameter is closer to the surface, the  more predominant  are the effects of the wind blowing on the surface. This parameter is shown by black  colored vectors in the environment.

  bottom_Horz_Vec -   it is the water tide at the bottom of the water body, in the depressions and the channels of the water. These are light blue in color.

contour_salinity -     This defines the contours of the salinity levels at various points of the surface. They have numbers written on them, and thus one counter ( all the points on the surface of water  connected by this line ) will have the same salinity level. These are red in color.
 

Tracers_Iso     -          These show the salinity levels based on color. Red is the upper level of salinity, and  blue the lower. Though this provides a good visual cue to the variations in the salinity levels over time in the simulation, it sometimes exaggerates the differences. There is a very slight difference in the salinity levels between red and blue, but looking at the color it really looks to be a lot.

Vert_North_South -   Pink in color, these give an additional cue to the velocities of the tides. This is a plane in the North-South axis and the depth, and it can be moved in an east-west direction

Vert_East_west -  Red in color, they also provide another plane to visualize the velocities of the tide. This plane is defined in the east-west axis and depth, and can be moved in the north-south direction.

3. Click on the global/local buttons corresponding to the 'topography', 'surface_horz_Vec', and 'tracers_Iso' buttons, which makes them seen globally. Close the panel, and start the simulation (time) by clicking on the '' button.

4. Now whenever the other participants join you, their initial set up is the same as yours, so they need not be told about the options they need to select. They can see 'at least' the parameters you have opened and made global. and can add their view by putting on other parameters.     Each one of them would also be synchronized together with time.

5. Now press the middle button and turn around the world to about 180 degrees, so that now you are looking at the Bay from the other side, facing south. This position lets you face the other collaborators when they join in the session.

6. Now move closer to the mouth of the bay, and ask the others to come closer to it too, and face you, so they while you are standing north of the bay facing south and they are standing south of the  mouth facing the north.

7. As certain objects are global, you can  show them the circulation at the mouth. The flow pattern there consists of buoyant water out flowing along the southern reaches of the Bay entrance and over the shoals, whereas inflow of dense, saline shelf water is generally restricted to the bathymetric depressions or channels, in the opposite direction. It is shown by the difference of directions of vectors with the depth.  This can be shown at an instance in the simulation by stopping the time.

8. Pointing at the salinity blob at the entrance of the bay, tell the users that - The salinity field  ( more red - more saline, more bluish lesser saline )  is controlled primarily by fresh water runoff, changes in rainfall or drainage, evaporation, and wind direction and velocities.

9. Wait till the simulation plays for 1/3 of the whole cycle. SInce the whole simulation is for 15 days, this would mean data for 5 days. At this point stop the time. Till this period in the simulation,   environmental forcing was  limited to river discharge and the resultant circulation and salinity fields are consistent to this outflow which is  more than the inflow from the sea. Thus up till now the bay water was quite saline ( red ).

10. The low salinity water discharged from the river sources has moved down the western side of the Bay and out of the Bay mouth to form a buoyant plume. The plume rotated anticyclonically (clockwise) as it exited the estuary due to the effect of the earths rotation. A coherent downcoast-flowing coastal current was visible south of the Bay mouth. Outflowing buoyant water was seen to be confined to the south side of the Bay mouth and a weak return subsurface flow of saline shelf water was evident on the northern side.

11. Start the time again, and stop it this time, when it has reached half of its cycle. At this time, approx 8 days of simulation  strong seaward flow is evident, at maximum ebb stage.

12. Saline shelf water enters the bay still in the nothern side of the bay mouth at max. flood stage, yet the outflow plume is still present south of the bay mouth. Flow strength decreased with depth due to bottom friction and lateral gradients were high in the areas between the channels and the shoals. Mixing effects are clearly seen by the temporarily varying color gradations in the salinity field.

13. At this stage turn the isosurfaces also to global, and start the time again. A region containing concentrations of fish larvae was established just offshore of the Bay mouth, represented by the isosurfaces. Wind from the southwest resulted in the  advection of larval fish away from the Bay mouth to the north and east. At day 12 (3/4 of the simulation cycle), when the winds were reversed  and blowing from the northeast (downwelling favorable), saline shelf water was advected into the Bay   on the northern side of the Bay mouth. The distribution of simulated    larval fish was then advected   shoreward and larvae entered the Bay on  the flood tide.

14. Towards the last 1/4 th of the cycle, winds have reversed to be blowing from the north, in the process  moving the larval fish  distribution  into the tidally influenced region near the Bay mouth. Note the   strengthening coastal current south of the Bay  mouth, the resurgence of the outflow plume and the variability in circulation throughout the domain.

15.Once in the Bay proper, individual larvae may decrease their depth through self guided motion during slack water, sink to depths where   tidal velocities are small to avoid flushing on the ebb tide, then rise again and subsequently move to more favorable nursery grounds farther north up the Bay on the subsequent flood phase.
 

10Related Web Links:

 

11. References

[1] Carolina Cruz-Neira, Daniel J. Sandin, and Thomas A. DeFanti.

Surround-screen projection-based virtual reality: The design and implementation of the CAVE.
In James T. Kajiya, editor, Computer Graphics (SIGGRAPH '93 Proceedings), volume 27, pages 135-142, August 1993.
[2] Bill Hibbard and Brian Paul.

Vis5D http://www.ssec.wisc.edu// 6#6billh/vis5d.html, 1998.
[3] Andrew E. Johnson, Jason Leigh, Thomas A. DeFanti, and Daniel J. Sandin.

CAVERN: the cave research network.
In Proceedings of 1st International Symposium on Multimedia Virtual Laboratories, pages 15-27, Tokyo, Japan, March 1998.
[4] Jason Leigh, Andrew E. Johnson, and Thomas A. DeFanti.

CAVERN: a distributed architecture for supporting scalable persistence and interoperability in collaborative virtual environments.
Journal of Virtual Reality Research, Development and Applications, 2(2):217-237, 1997.
[5] Jason Leigh, Andrew E. Johnson, and Thomas A. DeFanti.

Issues in the design of a flexible distributed architecture for supporting persistence and interoperability in collaborative virtual environments.
In Proceedings of Supercomputing'97, San Jose, California, Nov 1997. IEEE/ACM.
[6] Rick Stevens, Paul Woodward, Tom DeFanti, and Charlie Catlett.

From the i-way to the national technology grid.
Communications of the ACM, 40(11):51-60, Nov 1997.
[7] Marcus Thiebaux.

The Virtual Director.
Master's thesis, Electronic Visualization Laboratory, University of Illinois at Chicago, 1997.
[8] Glen H. Wheless, Cathy M. Lascara, A. Valle-Levinson, D. P. Brutzman, W. Sherman, W. L. Hibbard, and B. Paul.

Virtual chesapeake bay: Interacting with a coupled physical/biological model.
IEEE Computer Graphics and Applications, 16(4):52-57, July 1996.
[9] Jason Wood, Helen Wright, Ken Brodlie
Collaborative Visualization
Proceedings of IEEE Visualization 1997.

[10]. Vijendra Jaiswal
CAVEvis: Distributed Real-Time Visualization of Time Varying Scalar and Vector Fields Using the CAVE Virtual Reality System.
Proceedings of IEEE Visualization 1997.

 

Contact Information
For questions and comments, please contact:
Abhinav Kapoor,
akapoor@evl.uic.edu
Jason Leigh,
jleigh@eecs.uic.edu
 

CAVE6D Logo courtesy Samreong Thongrong, EVL, UIC.

CAVE6D URL is located at: http://www.evl.uic.edu/akapoor/cave6d