Research and Development Homepage

This section is an overview of past and present research and development projects, and a repository for released source code.

Pages In This Section

Current (as of indicated date) list of published papers authored or co-authored by me.
WhyTools Build Environment
A build environment for low-pain maintenance of small to complex projects, with automatic dependency generation, support for external software packages, and multi-platform building.
Templatized Geometry Library
A library for affine and projective geometry, templatized on scalar data type and vector space dimension (where appropriate).
Vrui VR Toolkit
A development toolkit for highly interactive and portable VR applications.
An infrastructure to support real-time collaboration between multiple immersive visualization environments.
Overview of the W. M. Keck Center for Active Visualization in the Earth Sciences (KeckCAVES) project.
Low-Cost VR
A blueprint to build fully-immersive VR environments based on commodity components.
Collision Detection
An example program (with source code) to simulate the interaction of a large number of moving spheres.
An efficient algorithm to find closest points in n-dimensional space using a memory-optimal kd-tree data structure.
Wiimote Hacking
A project to use the Nintendo Wii controller as a wireless 6-DOF input device for VR applications.
Kinect Hacking
A project to use the Microsoft Xbox Kinect device as a 3D video camera.
Augmented Reality Sandbox
A project to build a sandbox combined with a 3D camera and a projector to overlay the real sand surface with a real-time interactive topography map and a physically accurate water flow simulation.
Interactive Protein Manipulation
An interactive modelling program ("ProtoShop") for protein structures.
Linear Spline Approximation
Algorithms, data structures and programs to create and optimize linear spline approximations to scattered data.
Interactive Volume Visualization
An interactive volume renderer for data sets defined on rectilinear grids using 3D texture mapping hardware. Also contains a page on how to drastically increase the fidelity of volume rendering by supersampling using good reconstruction filters.
LiDAR Visualization
Out-of-core multiresolution rendering of 3D surface scans provided by tripod LiDAR.
Point-based Volume Visualization
An interactive preview renderer for large scientific data sets defined on arbitrary grids.
Volume Visualization of AMR Data
An interactive, distributed volume renderer for adaptive mesh refinement data.
Virtual-Reality Data Exploration
A framework for interactive exploration of three-dimensional scientific data defined on several grid types, specifically geared towards real-time visualization in virtual-reality environments.
Computational Steering of CFD Simulations
A framework for interactive exploration of "live" computational fluid dynamics (CFD) data, and steering of the remote CFD simulation that generates it.
Visualization of Sensor Network Data
Visualization algorithms for data generated by networks of independent sensors ("Smart Dust").
Immersive 3D Video
A collaborative project with UC Berkeley to develop an immersive display engine for 3D video streams and 3D videoconferencing.
Nanotech Construction Kit
A virtual reality modelling program for silicate and carbon nanostructures (Buckyballs, Nanotubes, etc.).