CAVE is a room-sized, immersive virtual reality system developed in early 1990s at Univ. Illinois, ChicagoCruz-neira1993
. Wall screens on which stereoscopic images are projected from the rear surround the viewer in the room. The floor is another screen on which stereo images are projected usually from the ceiling. A high-precision head tracking system with the six degrees-of-freedom (DOF) is installed. The tracker’s data are sent to a graphics system to generate natural scenes for the viewer. A portable controller, sometimes called wand, is used for the human machine interface in the CAVE’s room. The wand is also tracked. Compared with other virtual reality (VR) systems, such as the head-mounted display system, CAVE provides much wider view and higher immersive sense. The scientific visualization is one of the most important application fields from the first CAVECruz-neira1993 to the latest generation called StarCAVEDefanti2009a .
One of the early visualization tools for CAVE systems was CAVEvisJaswal1997 developed in 1990s, which was to analyze time varying fluid data. Since then, CAVE systems have been used in broad spectrum of visualizations, including seismic simulationChopra2002 , meteorological simulationZiegeler2001 , biomedical fluid simulationForsberg2000 , magnetic resonance imagingZhang2001 , turbulence simulationTufo1999 , CFD of molten ironFu2010 , CFD of wind turbinesYan2011 , geomagnetic fieldBidasaria2005 , and archaeologicalAcevedo2001 . Various applications in scientific visualization and related user-interface study at Brown University are summarized inJr2009 . An application of the StarCAVEDefanti2009a in geophysics can be found inLin2011 .
We also started developing visualization tools for a CAVE system in the late 1990s for visualization of our simulations on plasma physics and related fieldskageyama1998 . Our visualizations in the CAVE gradually attracted interests of other simulation researchers. By their request, we developed several CAVE programs for different kinds of simulation data. Through the experience of those developments, we had found that several methods and tools could be used in common. We combined them into an general-purpose visualization application for field-type datakageyama1999 ; Kageyama2000 . Since then, we have been improving VFIVE for more than a decade. The continued improvements have made this application being a matured, practical tool for three-dimensional visualization in CAVE systems.
To the authors’ knowledge, VFIVE is unique visualization application for CAVE systems with regard to its long continued development history. Another characteristic feature of VFIVE is that it has always been developed in a “request-driven” way. We have added new functions or visualization methods only when they are strongly required by simulation researchers. This policy has played an important role to keep VFIVE being a simple, minimum, but still practical tool.
The purpose of this paper is to summarize the development of VFIVE. Implementations and usages of various visualization methods in VFIVE are outlined.
VFIVE is coded with C++ language with standard APIs of OpenGL and CAVElib. The source codes are freely distributed. It runs both on Linux-based workstations and Windows-based PC clusters. VFIVE is now used in various CAVE systems in Japan. It is also used as a base code set for further developments of advanced visualizations. Those applications and scientific achievements made possible by VFIVE in several CAVE systems are described in our another paperKageyama .
Ii VFIVE’s User Interface
We have implemented a menu-type user interface in VFIVE. Each visualization method implemented in this application is selected by shooting a virtual menu panel with a beam from the wand. When a user in the CAVE room presses a button of the wand, a virtual laser beam appears from the tip of the wand. At the same time, menu panels appear in front of the user (see Fig.1). By shooting submenu panels one after another, a target data to be visualized, then a visualization method to be applied to it are selected. Visualization parameters corresponding to the selected visualization method are specified by the wand’s another button. The parameters and the interface in each visualization methods are described in section III.
Multiple visualization methods thus selected can be superimposed to show a combined view as shown in Fig. 2. In this case, Isosurface, Orthoslice, Local Arrows, and Tracer Particle methods are shown. These methods will be described later. Fig. 3 is a snapshot of geodynamo simulation visualization in which tube-shaped Field Lines of the flow and Volume Rendering of a scalar field are superimposed.
Iii Visualization Methods in VFIVE
iii.1 Particle Tracer
After shooting a virtual menu panel saying “Particle Tracer” and pressing the wand button, a short blue beam appears from the wand. The tip of the blue beam designates the seeding point of a streamline of the vector field that is already selected by the menu. The tracer particle calculation is performed with a 6-th order Runge-Kutta integration method in real time; the vector value at the tracer particle position is interpolated in real time and the user can see the particle is moving (or flying) in the CAVE’s VR space. To show the streamline, a curve is drawn in the trail of the particle. In this method, the speed of the particle indicates the vector field strength at the position. Fig.4 shows a sequence of snapshots of the Particle Tracer visualization of a geodynamo simulation performed on the Earth Simulator supercomputer
A useful way to apply this method is to place a set of seed points in a small local region of the target vector field by a rapid, successive clicking of the wand’s button, slightly shifting the beam tip. Then, a bunch of tracer particles are born and fly like a flock of birds. They move as a group for a while if the initial target area is small enough, but the distances between the particles exponentially grow when the target vector field is chaotic that is common in nonlinear fluid simulations as our goeynamo simulation. We sometimes notice that some of the tracer particles show attractive behavior such as a sharp turn, helical winding, or other dynamical and intriguing twists. The place where the tracer particles show such characteristic changes is usually a “hot spot”, i.e., a key area of the target vector field in order to uncover the underlying physics. Then we walk in the CAVE room or make a virtual fly in the space by the wand’s joystick to get closer to the hot spot. One may apply the Particle Tracer analysis again around the hot spot to analyze the structure of the vector field in detail in and around the hot spot. Other visualization methods described below could be applied, too. Our experiences have told that the Particle Tracer is an effective visualization method to find a hot spot of the vector field and to intuitively understand the three-dimensional structure of the vector field.
iii.2 Field Line
This visualization method is almost the same one as the Particle Tracer described above. The differences are; (i) the 6-th order Runge-Kutta integration is performed in both positive and negative directions, and (ii) the target vector field is normalized before the integration so that the vector amplitude is unity everywhere in the space. We discard unnecessary information of the vector amplitude since we are interested only in the distribution of the direction (angles) of the vector field in this visualization method.
iii.3 Local Arrows
This is another visualization method for vector fields. After selecting Local Arrows from the menu and pressing a wand button, tens of arrows appear around the tip of a short (virtual) beam, within a spherical region. The size and angle of each arrow indicate the magnitude and direction of the vector field.
This is an example of fully interactive or dynamic visualization method that makes use of the CAVE’s interactivity. As the user moves the wand, the bunch of arrows follows the hand motion. See Fig. 5. The real time spatial interpolation from the target grid data is taken. The user can intuitively understand, or “feel” the local distribution of the vector field through the combination of the hand motion and three-dimensional observation of the dynamical changes like “dancing” of the arrows.
Visualization method called Snowflakes (Fig. 6) shows hundreds of tracer particles in a cone-shaped spotlight. The apex of the cone is the wand and the axis is always parallel to the wand direction. The cone-shaped spotlight follows the wand’s motion.
This visualization method is inspired by, and named after, a scene in a snowing night observed by one of the authors. He noticed that snowflakes flying under a streetlight effectively visualize the wind there. This method is used to dynamically changing the wand direction—like using a searchlight—and observing the particles in the spotlight.
Isosurface is one of standard visualization methods for scalar fields. We use the classical marching cubes algorithmLorensen1987 for the isosurface construction in VFIVE. The white objects in Fig. 2 are isosurfaces of a scalar field in the geodynamo simulation.
To control the isosurface level or threshold, a three-dimensional virtual slider object appears near the user (not shown in Fig. 2) when a wand button is pressed. The virtual slider moves vertically in accord with the wand’s vertical motion. It changes isosurface level. When the button is released, the threshold is determined and the marching cubes calculation begins before new isosurface object is shown.
Orthoslicer is another popular visualization methods for scalar fields. After selecting the Orthoslicer panel from the menu, a box-shaped small object, which symbolizes the whole simulation data space, appears in the CAVE room when a wand button is pressed. A mesh in the symbol box designates the slice position. To control the slice plane, all one has to do is to move the wand in the desired direction, with pressing a wand button. The mesh in the box moves in accord with the wand motion. When the wand’s button is released, the distribution of the scalar data is rendered at the specified slice position in the data. Orthoslicers can be seen with other visualization methods in Fig. 5 and 2.
iii.7 Volume Rendering
One of technical challenges in the CAVE visualization is implementation of the volume rendering which is a popular as well as very powerful visualization method for scalar fieldDrebin1988 . The volume rendering is a heavy and demanding numerical process, since it requires numerical integrations on each pixel when the ray casting, that is classical algorithm in this method, is adopted.
To realize a high-speed volume rendering in VFIVE, we use the three-dimensional texture mapping techniqueCullip1993 . In this method, polygon slices draped with semi-transparent textures derived from the target scalar field are piled up from back to front. A sample snapshot of the CAVE volume rendering with this method in VFIVE is shown in Fig. 3.
In volume renderings, the color and opacity is determined from the scalar field through the so-called transfer functions. In our implementation the transfer function can be edited in the CAVE room interactively with a 3-D GUI made for this purpose. An interaction panel appears in the CAVE’s VR space to control the parameters of the transfer function through wand motion. Details of the implementation and its GUI in VFIVE are described inOhno2007 .
VFIVE was originally designed to analyze stationary fields, without the time variation. When the target simulation is non-stationary, we have used VFIVE to analyze a snapshot data or three-dimensional field at one specific time. To resolve this limit, we have implemented an animation function in VFIVE. Once “Animation” is selected in the menu, VFIVE reads a four-dimensional data from the hard disk drive (HDD). The data consists of a time sequence of three-dimensional data, from the first time step at, say , to the final time step at . In the beginning, the VFIVE shows the data at the first time step in the CAVE room. The user chooses and applies arbitrary visualization methods described above (and below) by making use of the menu and the wand to specify the visualization method and parameters. The visualized results are shown in the CAVE as usual, but at the same time, the visualization objects (polygons) are saved in the HDD. Then the same visualization methods are applied to the data of next time step at , with the same parameters. The visualization results are shown in the CAVE, and again the polygonal data for are saved in the HDD. The same procedure is applied until . After generating all of the polygonal data from to , VFIVE begins displaying the sequential polygonal data one after another, reading the data from the HDD.
V VTK Combination
“VTK” (Visualization Tool Kit)Schroeder2004 is a rich and sophisticated visualization library. One can draw out the polygonal data of visualization objects of VTK, which can be independently rendered by OpenGL. Applying this technique, we have incorporated a lot of (polygon-based) visualization methods such as Tubes and Contour Lines of VTK into VFIVEOhno2006 . An example of VTK visualization is shown in Fig 7, which is a visualization of a magnetohydrodynamic simulation of the Earth’s magnetosphere in the CAVE. In this simulation, time development of multiple vector fields (such as velocity field and magnetic field) and multiple scalar fields (such as pressure and density) are numerically solved. The velocity field is visualized by “Stream Surface” and the pressure is visualized by contour lines.
We have developed adequate GUIs for every VTK method that is incorporated into VFIVE, in accordance with other interface of VFIVE. For example, GUI of VTK’s contour lines are designed as the same one as that of Orthoslicer described above. GUI for VTK Tubes is the same as VFIVE’s Particle Tracer and Field Lines. For the VTK’s Stream Surface, the wand and a beam are used to specify two points that are necessary for this visualization method. By pressing the wand’s middle button, the first seed is placed at the tip of beam and the second seed is placed when the button is released.
We have found that users of VFIVE tend to prefer VFIVE visualization methods than VTK-original methods. This would be because the visualized objects produced by VTK are basically “still” one, in contrast that VFIVE’s other methods generate dynamically changing objects such as flying Particle Tracers or hand-following Local Arrows. From this reason, the VTK-enabled version of VFIVE has branched off from the major VFIVE development trunk now.
Vi Region of Interest and Level of Detail
When we use a CAVE for the visualization of large-scale data, there are two different kinds of purposes. One is to grasp the whole structure of the three-dimensional field of the input data to be analyzed, and another is to understand the detailed structure as accurate as possible at a small but important spatial region, or a hot spot. In order to make these complemented purposes be compatible, we have implemented the function of interactive region of interest (ROI) linked with level of detail (LOD) in VFIVE. Details of this implementation are described inOhno2010 .
Vii Other Methods and Functions
In this subsection, we briefly introduce other functions and methods that are not mentioned so far.
Since our goal is to visualize large-scale simulation data produced by supercomputers, the data size is always our challenge. To handle large-scale data within acceptable time, we have parallelized VFIVE by OpenMP to accelerate calculations.
In Local Slicer, the user holds and moves a small rectangle plane in the CAVE room. The plane color shows the distribution of a scalar field, which is selected by the menu, on the slice. As in the Local Arrows, the Local Slicer follows the wand motion. There are two modes of the Local Slicer; in the first mode, the normal vector of the plane is always perpendicular to wand direction, and in the second mode it is always perpendicular to a specified vector field. Near a “hot spot” of the field where the vector and scalar fields change sharply, one can observe a dynamic motion of the plane as he/she slowly moves the wand around there.
In the visualization method named Hotaru, which means firefly in Japanese, thousands of tracer particles are randomly scattered in the whole simulation data space. The 1st order Euler method is used for the numerical integration since statistical behavior rather than the accuracy of each motion is important in this visualization.
The Line Integral Convolution (LIC) is a useful visualization method for vector fields. We have incorporated this method into VFIVE. The LIC method is applied to a specified vector field by the menu with the wand at a slice plane whose position is also controlled by the wand. The CAVE GUI for LIC method is the same as that for the Orthoslicer; the user can interactively select the slice plane of the LIC by moving the wand in horizontal or vertical directions. Fig. 8 shows an example of the LIC visualization applied to a CAVE visualization of the geodynamo simulation.
VFIVE has a minimum function to display three-dimensional objects, composed by triangles and line segments. This function is used to display, for example, the boundary planes of the simulation.
Snapshot is a function to save the frame buffer to the HDD. Images displayed on the front wall screen are saved to sequential files when the user selects this option. This is useful to store the image data visualized by VFIVE. Various visualization parameters such as isosurface threshold, seeding positions of Field Lines and Tracer Particles, slice positions of Orthoslicer are also saved for later usage by VFIVE or other visualization software on other platforms like PCs.
VFIVE can display texts in the CAVE room by our hand-made stroke font. This function is used to display visualization parameters by text strings. In Fig. 9, seeding positions of streamlines are shown. The time steps in the animation mode and simulation data size are also displayed in the CAVE’s VR space.
We have developed a visualization application, VFIVE, for CAVE-type VR systems for immersive and interactive visualization of large-scale simulation data. VFIVE makes it possible to analyze multiple scalar and vector fields at the same time in the CAVE.
In its development, special emphasis has been placed on the interactivity, since we believe that the interactivity is the key in the visualizationHibbard1989 ; Lum2002 , especially in the CAVE systems. Take the particle tracer or field lines, for example, that are common and standard visualization methods implemented in many visualization tools on PC-based software. It is, however, rather difficult to accurately specify the seed positions by the standard mouse-based GUI. What we want to do in the vector field visualization is to get the answer to a question like: “what if we seed a tracer particle at the center of these two vortices?”, rather than a question like: “what if we seed a tracer particle at the position ?” The CAVE with the head and hand tracking system enables us to perform effective and accurate seeding in those situations.
In addition to the effective and accurate positioning of the seed points, the tracer particle or field line in the CAVE is qualitatively different from those in PC-based visualization software. In the CAVE room, we can observe tracer particles in motion and if a particle shows a sharp and intriguing change of the orbit, we can literally walk to that place in the CAVE room and analyze the vector field there in detail, while the particle is still moving around there.
The source codes of VFIVE are freely available. It is actively used at several CAVE systems in Japan for various kinds of visualizations. Those applications and scientific achievements made possible by VFIVE are summarized in another paperKageyama .
This work was supported by JSPS KAKENHI Grant Number 23340128 and Takahashi Industrial and Economic Research Foundation.
- (1) Carolina Cruz-neira, Daniel J. Sandin, and Thomas A. Defanti. Surround-Screen Projection-Based Virtual Reality : The Design and Implementation of the CAVE. Proceedings of SIGGRAPH ’93, pages 135–142, 1993.
- (2) T. Defanti, G. Dawe, D. Sandin, J. Schulze, P. Otto, J. Girado, F. Kuester, L Smarr, and R Rao. The StarCAVE, a third-generation CAVE and virtual reality OptIPortal. Future Generation Computer Systems, 25(2):169–178, February 2009.
- (3) Vijendra Jaswal. CAVEvis: distributed real-time visualization of time-varying scalar and vector fields using the CAVE virtual reality theater. Proceedings. Visualization ’97 (Cat. No. 97CB36155), pages 301–308,, 1997.
- (4) P. Chopra, J. Meyer, and A. Fernandez. Immersive volume visualization of seismic simulations: A case study of techniques invented and lessons learned. IEEE Visualization, 2002. VIS 2002., Vi:497–500, 2002.
- (5) Sean Ziegeler, Robert J Moorhead, Paul J Croft, and Duanjun Lu. The MetVR Case Study : Meteorological Visualization in an Immersive Virtual Environment. VIS ’01: Proceedings of the conference on Visualization ’01, pages 489–493, 2001.
- (6) A.S. Forsberg, D.H. Laidlaw, A. Van Dam, R.M. Kirby, G.E. Kafniadakis, and J.L. Elion. Immersive virtual reality for visualizing flow through an artery. In Proceedings of the conference on Visualization ’00, pages 457–460,, Salt Lake City, Utah, United States, 2000. Ieee.
- (7) S. Zhang, C. Demiralp, D.F. Keefe, M. DaSilva, D.H. Laidlaw, B.D. Greenberg, P.J. Basser, C. Pierpaoli, E.a. Chiocca, and T.S. Deisboeck. An immersive virtual environment for DT-MRI volume visualization applications: a case study. In Proceedings Visualization, 2001. VIS ’01., volume Vi, pages 437–584. Ieee, 2001.
- (8) H. M. Tufo, P. F. Fischer, M. E. Papka, and K. Blom. Numerical simulation and immersive visualization of hairpin vortices. In Proceedings of the 1999 ACM/IEEE conference on Supercomputing, number c, pages 62–76, New York, New York, USA, 1999. ACM Press.
- (9) Dong Fu, Bin Wu, Guoheng Chen, John Moreland, Fengguo Tian, Yuzhu Hu, and Chenn Q Zhou. VIRTUAL REALITY VISUALIZATION OF CFD SIMULATION FOR IRON/STEELMAKING PROCESSES. In Proceedings of the 14th International Heat Transfer Conference IHTC14, pages 1–8, Washington, DC, 2010.
- (10) Nan Yan, Tyamo Okosun, Sanjit K Basak, Dong Fu, John Moreland, and Chenn Q Zhou. NUMERICAL SIMULATION AND VIRTUAL REALITY VISUALIZATION OF HORIZONTAL AND VERTICAL AXIS WIND TURBINES. In Proceedings of the ASME 2011 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference, pages 1–8, Washington, DC, 2011.
- (11) Hari B. Bidasaria. Development of techniques for visualization of scalar and vector fields in an immersive environment (CAVE). In Proceedings of the 43rd annual southeast regional conference on - ACM-SE 43, page 355, New York, New York, USA, 2005. ACM Press.
- (12) D. Acevedo, E. Vote, D.H. Laidlaw, and M.S. Joukowsky. Archaeological data visualization in VR: analysis of lamp finds at the Great Temple of Petra, a case study. In Proceedings Visualization, 2001. VIS ’01., pages 493–597. Ieee, 2001.
- (13) Joseph J. LaViola, Andrew Forsberg S., David H. Laidlaw, and Andries van Dam. Trends in Interactive Visualization. Advanced Information and Knowledge Processing. Springer London, London, 2009.
- (14) Albert Yu-min Lin, Alexandre Novo, Philip P Weber, Gianfranco Morelli, and Dean Goodman. A Virtual Excavation : Combining 3D Immersive Virtual Reality and Geophysical Surveying. In Advances in Visual Computing, Lecture Notes in Computer Science Volume 6939,, pages 229–238. Springer Berlin Heidelberg, 2011.
- (15) A. Kageyama, T. Hayashi, R. Horiuchi, K. Watanabe, and T. Sato. Data Visualization by a Virtual Reality System. In 16th International Conference on the Numerical Simulation of Plasmas, pages 138–142, Santa Barbara, CA, USA, 1998.
- (16) Akira Kageyama, Yuichi Tamura, and Tetsuya Sato. Scientific Visualization in Physics Research by CompleXcope CAVE System. Trans. Viurtual Reality Soc. Japan, 4:717–722, 1999.
- (17) Akira Kageyama, Yuichi Tamura, and Tetsuya Sato. Visualization of Vector Field by Virtual Reality. Progress of Theoretical Physics, Supplement, 138:665–673, 2000.
- (18) Akira Kageyama, Nobuaki Ohno, Kazuo Kashiyama, Shintaro Kawahara, and Hiroaki Ohtani. Immersive VR Visualizations by VFIVE: Applications. International Journal of Modeling, Simulation, and Scientific Computing, this issue.
- (19) William E Lorensen and Harvey E Cline. Marching Cubes: A High Resolution 3D Surface Construction Algorithm. Computer Graphics, 21(4):163–169, 1987.
- (20) Robert A Drebin, Loren Carpenter, and Pat Hanrahan. Volume Rendering. Computer, 22(4):65–74, 1988.
- (21) Timothy J Cullip and Ulrich Neumann. Accelerating Volume Reconstruction with 3D Texture Hardware. Technical report, 1993.
- (22) Nobuaki Ohno and Akira Kageyama. Scientific visualization of geophysical simulation data by the CAVE VR system with volume rendering. Physics of The Earth and Planetary Interiors, 163(1-4):305–311, August 2007.
- (23) Will Schroeder, Ken Martin, and Bill Lorensen. The Visualization Toolkit, Third Edition. Kitware Inc., 2004.
- (24) N. Ohno, a. Kageyama, and K. Kusano. Virtual reality visualization by CAVE with VFIVE and VTK. Journal of Plasma Physics, 72(06):1069, December 2006.
- (25) Nobuaki Ohno and Akira Kageyama. Region-of-interest visualization by CAVE VR system with automatic control of level-of-detail. Computer Physics Communications, 181(4):720–725, April 2010.
- (26) William Hibbard and David Santek. Interactivity is the key. In VVS ’89 Proceedings of the 1989 Chapel Hill workshop on Volume visualization, volume 36, pages 39–45, August 1989.
- (27) Eric B. Lum and Kwan-Liu Ma. Interactivity is the key to expressive visualization. ACM SIGGRAPH Computer Graphics, 36(3):5, August 2002.