Technical Resources





We politely ask that you display a small plaque on or near any publicly visible AR Sandbox that you construct, to give credit for development of the original algorithms and code, and acknowledge the federal research grant that funded its development. Here is a template paragraph:

The Augmented Reality Sandbox was developed by the UC Davis W.M. Keck Center for Active Visualization in the Earth Sciences (KeckCAVES,, supported by the National Science Foundation under Grant No. DRL 1114663.
For more information, please visit

If you want to use the KeckCAVES logo, we have two versions (portrait and landscape) available for download in high resolution:

KeckCAVESLogo                  KeckCAVESLogoSideways

We also have a printable QR code that takes viewers directly to the Augmented Reality Sandbox page:


Project Details

Our AR Sandbox prototype was designed and built by project specialist Peter Gold of the UC Davis Department of Geology. The driving software is based on the Vrui VR development toolkit and the Kinect 3D video processing framework, and is available for download under the GNU General Public License.

Raw depth frames arrive from the Kinect camera at 30 frames per second and are fed into a statistical evaluation filter with a fixed configurable per-pixel buffer size (currently defaulting to 30 frames, corresponding to 1 second delay), which serves the triple purpose of filtering out moving objects such as hands or tools, reducing the noise inherent in the Kinect’s depth data stream, and filling in missing data in the depth stream. The resulting topographic surface is then rendered from the point of view of the data projector suspended above the sandbox, with the effect that the projected topography exactly matches the real sand topography. The software uses a combination of several GLSL shaders to color the surface by elevation using customizable color maps (the default color map used right now was provided by M. Burak Yikilmaz, a post-doc in the UC Davis Department of Geology), and to add real-time topographic contour lines.

At the same time, a water flow simulation based on the Saint-Venant set of shallow water equations, which are a depth-integrated version of the set of Navier-Stokes equations governing fluid flow, is run in the background using another set of GLSL shaders. The simulation is an explicit second-order accurate time evolution of the hyperbolic system of partial differential equations, using the virtual sand surface as boundary conditions. The implementation of this method follows the paper “a second-order well-balanced positivity preserving central-upwind scheme for the Saint-Venant system” by A. Kurganov and G. Petrova, using a simple viscosity term, open boundary conditions at the edges of the grid, and a second-order strong stability-preserving Runge-Kutta temporal integration step. The simulation is run such that the water flows exactly at real speed assuming a 1:100 scale factor, unless turbulence in the flow forces too many integration steps for the driving graphics card (currently an Nvidia Geforce 580) to handle.

Contact Oliver Kreylos
Authoring Institution University of California, Davis
Date 2016