Applications focus on visualizing a particular data structure, and all of them are being used for different research problems.


3dvis3DVisualizer is a program for exploring gridded data ranging from serial sections of rocks to model results to computed tomography data. It has diverse visualization features and analytical tools that combined with rapid, real-time rendering allow exploration of complicated data sets. (Download) See this YouTube video as an example.


LidarViewer allows users to view and analyze point cloud datasets without sub-sampling or reducing the data. The program will load in a point cloud and display each individual point from the survey. The LidarViewer allows the user to select points and extract them to a separate file, extract primitives (plane, sphere, cylinder) from selected points, determine distance from a plane, and navigate in real-time through large datasets (>1.2 billion points). It is a powerful tool that can provide unique perspectives to LiDAR datasets that are difficult to attain through DEMs. (Download) See this YouTube video as an example.


crustaCrusta allows real-time visualization of different resolution topographic and imagery data on a Virtual Globe. Users can map features, rapidly change scales, and view data from oblique angles. (Near Release) See this YouTube video as an example for Earth and this YouTube channel for examples for Mars..


FlowFlow (formerly called Dynamics Toolset) is a program for exploring dynamical systems. The program consists of specialized tools to visualize chaotic behaviors, pattern emergence, and mathematical structures. Flow is currently being substantially revised and will not be ready for release until summer or fall 2012. The older Dynamics Toolkit can be downloaded here.


actor_network_zoomedMycelia is a 3D network visualization tool. Networks can be loaded from Graphviz, XML, Chaco, or GraphML files, and graphs can be modified in Mycelia saved in Graphviz format. Graph theory algorithms are provided by the Boost library, and graphs can be interactively made and manipulated in iPython. Mycelia is currently being substantially revised and a new version will be ready for release later in 2012. The older version can be downloaded here.


Tools and libraries provide basic or extra functionality to applications.


VruiVrui is a C++ software development toolkit for highly interactive virtual reality applications, with a focus on portability between vastly different virtual reality environments, from laptop or desktop computers to CAVEs and other fully immersive 3D systems.


vruivnc2VruiVnc is a Virtual Network Computing client for controlling the desktop of a remote computer from within the cave. It allows you to project a personal computer screen on a window in the cave, you can manipulate that window, and you can beam data from within the cave to the external computer.


ToolBox is a library that implements an additional tool management layer on top of tools provided by Vrui. Its primary purpose is to allow a different model of managing multiple tools on a single device. It supports named buttons, tool icons, and extensible handling of events, e.g. for implementing different notions of tool switching. Currently there is just one such extension, the Tool Rotator, which implements a kind of simple pie menu. (Download)

Remote Collaboration

tony_oliver_haitiMany of our applications allow remote collaboration in which users at different sites simultaneous view and manipulate the same data. This can be done with participants rendered as simple avatars or with rendering of participants using technology such as the Kinect. See Oliver Kreylos’ YouTube channel for examples. Also see his Kinect website for how it works.

New Development Efforts

The following efforts are ongoing and available in prototype form at most.


VROOM as the basis for 3dCompare3dCompare will be an application that allows interactive comparisons among virtual objects such scanned bones, representations of archeological artifacts, etc.


Py++ code generatorPyVrui is a Python wrapper for the Vrui library, using the Py++ code generator. This allows Cave applications to be written in the Python language instead of C++.


Bullet is a popular 3d physics engine used in many open source and commercial products. We are wrapping it in python and integrating it into PyVrui to use with Vrui visualization capabilities.