printable version

Ingo Wald - Current Research Interests

Ingo Wald - Current Research Interests

Realtime Ray Tracing

I 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

  • Ray-tracing animated scenes using Dynamic Bounding Volume Hierarchies, a system that uses BVHs to achieve ray tracing performance that is competitive with the fastest kd-tree or grid based systems.
  • Coherent Grid Traversal, in particular for ray tracing dynamic scenes at frame rates competitive with the fastest known ray tracers. This reserach also included a new algorithm for scalable parallel grid building, as well as applying CGT to visualizing large, time-varying MPM datasets and volume/isosurface datasets.

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

  • Ray-tracing for Virtual Reality Applications, in particular, simulating accurate reflections and shadows, complex glass bodies (headlights), car paint, and supporting freeform surfaces.
  • Measuring and Rendering of real-world car paint
    [some images] [web site]
  • High-quality precomputed global illumination, including support for caustics, bidirectional texture functions, highly complex geometry, etc. (only available as a Technical Report).
    [some images]
  • Ray-tracing for Visualizing massively complex engineering datasets, including ray tracing for everyday, real-world use in several of the car industry's VR centers (usually used for photorealistic VR of 10-20 million triangle cars), and for visualizing the 350 million triangle Boeing 777 model.

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)

  • Instant Global Illumination, with extensions to instant global illumination in highly complex scenes, and including design of an even faster, particularly packet tracing-based variant of this method.
  • Realtime Photon Mapping, which Johannes Guenther realized (under my supervision) in the coarse of his masters thesis, and of which we also made a rendering symposium paper.
  • High-quality precomputed global illumination, including support for caustics, bidirectional texture functions, highly complex geometry, etc. (only available as a Technical Report).
    [some images]

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

  • Interactive Visualization of the 350 million triangle Boeing 777 model
  • Ray Tracing based Virtual Reality for complex NURBS models
  • High-Quality (precomputed) Global Illumination in highly complex engineering models
  • Interactive Global Illumination in Highly Complex Environments
  • Ray tracing of huge isosurface data sets
  • Interactive Rendering of massively complex outdoor scenes
  • Ray tracing of large, time-varying data sets
  • Ray tracing of large, time-varying MPM (mass-point-method) datasets

Hierarchical Index Structures and Efficient Traversal Algorithms

To 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.