Applications

Here is an (incomplete and growing) list of Vrui-based VR applications currently running in KeckCAVES and other immersive environments, with screenshots/links where I already have them.
Earthquake Viewer
A 3D visualization of Earth and its interior (surface, outer, inner core), with the ability to display, query, measure, and analyze arbitrary sets of 3D point data, for example a global database of earthquake hypocenters of magnitude 5.0 or more gathered over the last 47 years.
Point Set Filter
An application to visualize, query, measure and filter arbitrary sets of 3D point data. The main purpose of this program is to interactively remove outliers from earthquake data which is subsequently used to generate boundary conditions for 3D mantle convection/subduction simulations. We also used this successfully to analyze a large 3D data set of galaxy distributions gathered by the UC Davis astronomy group.
Multiresolution Image Viewer
A multiresolution out-of-core viewer for very large 2D color images, such as satellite image or aerial photography mosaics. The program uses a simple quadtree-based approach, and is able to render images at arbitrary zoom levels in real time. Our largest current image data set is a 6" resolution aerial photography mosaic of the city of Davis and environs, totaling around 8 Gigapixels.
Multiresolution Terrain Viewer
A multiresolution out-of-core viewer for very large 2.5D terrain data, such as digital elevation maps with draped aerial/satellite imagery. The program uses a simple quadtree-based approach, and is able to visualize terrains at arbitrary zoom levels and from arbitrary viewing positions in real time. Our largest data set is an elevation map of all of California, at 1/3 arcsecond (about 10m) horizontal resolution, with 28.5m resolution Landsat color imagery draped over it. The data set contains about 100,000 x 100,000 elevation measurements and weighs in at about 60GB on disk.
LiDAR Viewer
A multiresolution out-of-core visualization and analysis application for scattered 3D point data, such as gathered by airborne or especially ground-based LiDAR (Light Detection And Ranging). LiDAR data are unstructured clouds of points sampling surfaces in the scanned environment, and contain no inherent connectivity or other information. The LiDAR viewer allows users to view large data sets (currently largest: 12 billion points) in real time, including real-time illumination from multiple light sources, and extract derived information, such as plane equations, for further analysis.
Crusta
Developed by former PhD student Tony Bernardin, Crusta is a virtual globe application analogous to Google Earth. Unlike Google Earth and others, Crusta uses a sophisticated tesselation of the sphere to represent ultra-high resolution topography anywhere on the globe with minimal distortion, gives users the ability to integrate their own high-resolution topography and imagery data into the native data structure, and, most importantly, the ability to create detailed 2D maps by drawing directly onto the 3D terrain.
MD Visualizer
A viewer for 3D trace data from large-scale molecular dynamics simulations. The application shows trace data as an interactive 3D movie with the ability to zoom/navigate while the movie is playing at a selectable time compression factor, and to select individual or groups of atoms or molecules to track them through the evolution of the data. The program reads raw trace data (atom types and positions) and reconstructs neighborhood and bonding information in real time. The current implementation can load/reconstruct traces containing about 60,000 atoms at about 10 time steps per second.
Nanotech Construction Kit
An interactive modeling program for nano-scale structures such as Carbon nanotubes or silicate crystals. It uses a simplified force field model to simulate the interactions between basic building blocks and allows a user to create/delete building blocks and grab and drag them, computing and presenting the reaction of the model in real time. The program was used to create a candidate structure for a branching nanotube and several models of silicate crystals from scratch.
VR ProtoShop
An interactive modeling program for large protein molecules. This program was developed as a front-end for large-scale ab initio protein structure prediction. Protein structure prediction based on internal energy minimization faces the problem that the result of optimization still depends heavily on the quality of the initial candidate structures fed into it. ProtoShop was developed to enable users to turn their intuition or previous knowledge about how a particular protein could look like into 3D models fit for optimization, and was later adapted to monitor and control the off-line optimization process itself in a computation steering approach. Instead of manipulating proteins one atom at a time, ProtoShop allows users to grab entire substructures, such as alpha-helices or beta-strands, and manually drag them in 3D, while using an inverse kinematics method to ensure that the user's interactions do not violate properties like bond distances or bond angles.
Collaborative VR ProtoShop
A collaborative version of ProtoShop that allows two or more users to manipulate the same protein at the same time from spatially separate VR environments. The program uses a client/server and a lazy synchronization approach to allow collaboration even when there is high network latency between the sites.
3D Visualizer
A visualization application for 3D volumetric data on a variety of grid structures. Visualizer was developed to be completely grid-agnostic. As a result, there is only one implementation of each visualization algorithm (slices, isosurfaces, volume rendering, streamlines, etc.) which adapts itself automatically to the data's underlying grid structure using the C++ template mechanism. The resulting application is not just very useful for 3D data analysis, but also an excellent testbed for the development of new visualization algorithms or new grid data structures. It currently support Cartesian, curvilinear hexahedral, multi-block curvilinear hexahedral, and unstructured tetrahedral grids. A module to visualize data on adaptive mesh refinements (AMR) grids is currently under development. The AMR module was initially developed in 2000 as a collaboration with Lawrence Berkeley Labs and has to be adapted to the new program infrastructure.
Volume Renderer
A multi-resolution out-of-core direct volume renderer for large Cartesian grids using 3D texture mapping. This separate application is now obsolete; the same functionality and much more is provided by the 3D Visualizer.
Surface Modeler
An intuitive surface modeler using a self-refining triangle mesh surface representation, and operators that work directly on the surface without using control points, such as dragging, extruding, and smoothing.
Virtual Clay Modeler
A surface modeler based on an underlying 3D density grid, representing the modeled surface as an isosurface of the 3D density function. This level set allows changes in a model's topology without special effort, and supports intuitive modeling operations directly on the observed surfaces, such as drilling, depositing, dragging, and smoothing.
3D Video Viewer
An immersive rendering application for 3D video data gathered by large arrays of stereo cameras. The 3D video reconstruction is a project of the UC Berkeley CITRIS tele-immersion laboratory; we are helping by developing high-quality rendering algorithms. This application is now mostly obsolete and replaced by the Kinect-based 3D video application.
VRML Viewer
A basic viewer for 3D models stored as VRML 2.0 files. One inventive application of this viewer was a detailed visualization of nitrate ground water pollutant pathways in the aquifer underneath the southern San Joaquin Valley, California, using a dense set of illuminated streamlines.
Virtual Jell-O
A demonstration application that lets users interact with a block of (lime flavored) "virtual Jell-O." The program uses a real-time ODE solver based on a grid of interacting point charges to simulate the Jell-O's reaction to a user's interactions.
Collaborative Virtual Jell-O
A collaborative version of Virtual Jell-O that allows two or more users at spatially separate sites to interact with the same block of virtual Jell-O at the same time. It uses the same lazy synchronization client/server collaboration approach as collaborative VR ProtoShop.
Mesh Viewer
An immersive viewer and walk-through application for 3D meshes in a variety of file formats (LWO, PLY, Alias|Wavefront .obj, 3D Studio ASCII, ...). Primarily used for civil engineering and architecture applications, it allows displaying models at 1:1 scales, walking through the models with full collision detection, and interactively querying model and submodel meta data.
AR Sandbox
While not a CAVE/VR application per se, the Augmented Reality Sandbox is a Vrui-based application to visualize topography and hydrology concepts by projecting virtual topographic maps and virtual water onto a real sandbox.
CAVE Doom 3
An immersive viewer and walk-through application for detailed 3D building models stored as Doom 3 maps, developed from scratch based on published and reverse-engineered specifications of the Doom 3 map and model file formats. We are planning to use this rendering engine as a foundation for applications in architecture and civil engineering.
CAVE Quake III Arena
An immersive viewer and walk-through application for detailed 3D building models stored as Quake III Arena maps, based on the Aftershock rendering engine and the CAVE Quake wrapper.
VR Descent
A re-implementation of the old PC game Descent for immersive environments. It can load Descent and Descent II mine models and features (simplified) game play using the full array of Descent weapons and basic enemy AI.