Ingo Wald - Current Research Interests
Realtime Ray TracingI am interested in all aspects of realtime ray tracing. Though my main focus is on developing (Interactive) Software Ray Tracers like OpenRT or DynRT (see below), I have also been involved in the SaarCOR project, and are also currently involved in another hardware ray tracing project at the University of Utah.
Ray Tracing Dynamic Scenes
In Software-based ray tracing, I'm mostly interested in designing ray tracers to be faster than their predecessors, often with parallel and distributed execution in mind. While OpenRT was designed with an emphasis on flexibility, stability, and usability for day-to-day applications in Visualization and Virtual Reality (it's the main "workhorse"), I've recenly concentrated in highly optimized packet-/frustum-based ray tracers that are designed to provide higher performance than OpenRT, but which are obviously less flexible. The eventual goal of this is to enable the scenario of "realtime ray tracing on everybody's desktop", in particular the use of realtime ray tracing for the next-generation of computer games, and - in the long run - to make realtime ray tracing be a standard technique in computer graphics and visualization. Part of that research included
Using Realtime Ray Tracing for Visualization and VR Applications
In addition to these more basic research issues, we're also using realtime ray tracing to solve severeal real-world research and visualization problems (see below). In particular, we've enabled ray tracing to be used to deliver real-time ray tracing based Virtual Reality that can equip typical VR applications with ray traced (and often physically correct) effects. For example, we've worked on
Photorealistic Image Synthesis and Physically-correct Lighting Simulation
Before I did my PhD, I did worked with Alexander Keller at the University of Kaiserslautern (where I did my masters thesis on Photorealistic Rendering using the Photon Map, and where I helped out in adding some features to Alex's renderer.
I am still working also on offline lighting simulation, but today concentrate mostly on techniques that allow for interactive frame rates (usually involving some of our interactive ray tracers, and potentially parallel rendering on clusters).
Interactive Global Illumination
In the coarse of my PhD, I've worked mostly on interactive lighting simulation, for which we realized several projects (all based on OpenRT)
Parallel and Distributed Computing (in particular on PC clusters)Though ray tracing becomes faster by the day, for high-quality ray tracing or global illumination at interactive rates a single PC usually still is not sufficient, yet. Though we currently focus mostly on achieving high performance on mid-range multi-core SMP machines, some applications demand the aggregate compute power of dozens of (multi-core) CPU.
To this end, we've developed OpenRT such that it can run transparently on a cluster of PCs. Using sophisticated and highly optimized communication, distribution, and load balancing methods, this usually works transparently to the application.
Virtually all of our OpenRT-based projects can be run in parallel cluster mode, including the Realtime Photon Mapping, Instant Global Illumination, and precomputed global illumination methods. OpenRT's parallelization infrastructure is also being used to provide interactive frame rates on high-resolution PowerWalls, in particular in "Photorealistic Virtual Reality" applications in the car, engineering, and aerospace industry.
Multiresolution methods (in particular for point-based and volume/isosurface data)Though ray tracing can well handle even highly complex scenes, massively complex (and/or time-varying) models still require huge amounts of memory, often lead to quality problems (aliasing, flickering) if the full-resolution models are being ray cast, and are problematic for coherence-based packet- and frustum-based ray tracers. Multiresolution methods provide an elegant solution to all of these problems, and are particularly powerful for ray tracing, which can chose the appropriate resolution on a per-ray basis.
I'm particularly interested in multiresolution methods for huge point-based models, as well as for large time-varying volume- and isosurface data sets.
Interactive Visualization of Massively Complex (and/or time-varying) data sets)
One of the biggest advantages of ray tracing is its logarithmic dependence on model complexity, which makes it highly useful for masssively complex scenes. In particular, we've worked on
Hierarchical Index Structures and Efficient Traversal AlgorithmsTo achieve realtime performance, ray tracing must use the most efficient and most advanced acceleration data structures that can be devised.
I am interested in all kinds of data structures, traversal algorithms, and intersection methods for different primitives (including triangles, implicit surfaces, bilinear patches, point-based surfaces, freeform surfaces etc) that can help in accelerating ray tracing. I am particularly interested in developing new, packet- and frustum based data structures and algorithms.