Summary
My core research interests lie in efficient approximations for rendering complex illumination. Graphics
researchers have long strived to achieve realism, or even
"photorealism", in rendered
images. To a large extent generating photorealistic renderings is a solved problem, given sufficient computation time
and accurate material measurements. One simply evaluates the
rendering equation or the
volume rendering equation numerically using techniques such as
Monte Carlo sampling
or finite-element methods like
radiosity.
Unfortunately, one rarely has enough time.
Flight,
driving, and training
simulators require fixed refresh speeds of 60 Hz or higher to avoid
simulator sickness;
virtual lighting design is most effective
when interactive;
video gamers often desire
refresh rates above 100 frames per second; and even traditional batch processes such as feature film
rendering have per-frame computation budgets to ensure a timely completion to production. In all these
cases, computation budgets limit the achievable rendering quality.
Yet realism plays a vital role in all these applications. Light scattered from dust particles, water droplets,
or snowflakes dramatically changes the behavior of pilots, automobile drivers, and combat troops. Thus, the inability to model
complex lighting effects reduces the applicability of training applications. Feature films increasingly
rely on graphics to produce realisting-looking yet impossible effects, including replacing or augmenting human actors.
And video games use continually improving realism to help drive sales in a $20 billion (and growing) industry.
My work aims to speed global illumination computations for these sorts of applications. The challenge arises
because global illumination problems typically require solving at least one integral per pixel, and these
integrals typically have closed-form solutions only in the most trivial scenes. For instance:
- Computing a shadow color at each pixel requires
integrating the visibility over the surface of each light.
- Computing diffusely reflected light (or
"color bleeding") from a
surface requires integrating over the the hemisphere of incident light.
- Computing a focused caustic involves
integrating over the surface of a reflector or refractor.
- Scattering from dust, fog, rain, and snow
involves integrating scattered light along the view ray. And finding
the scattered light at each point requires integrating over all incoming light directions.
Key Problems
Four major challenges appear when focusing on improving rendering efficiency:
- Interactive applications typically require dynamic scenes, limiting opportunities for precomputation and temporal amortization.
- Some illumination computations are more important than others. Goal: quickly identifying unimportant regions for
coarser evaluation.
- Integrating incident lighting over disparate parts of the environment traverses scene data in an incoherent
manner, thrashing most caches.
- Modern processors have varying programming paradigms, so algorithms have varying performance characteristics over
different processors.
Specific Projects
Interactive Soft Shadows: This work explores techniques for interactively computing visibility between
surfaces and "area lights" -- those illuminants with non-infinitesimal extent.
We have explored single-sample visibility approximations, image-based backprojection techniques to analytically compute light visiblity,
and the use of non-pinhole cameras to "bend" light around occluders.
Interactive Refraction: While perfectly reflective and refractive materials are trivial with ray tracing
based techniques, large classes of renderers rely on rasterization. Since rasterization algorithms shade based only upon
the current fragment's surface position and normal, locating intersections with other scene geometry is non-trivial. We introduce a
number of plausible image-space approximations that run in real-time.
Interactive Caustics: Caustics focus light via reflection and refraction. We introduce a number of image-space
approximations akin to shadow mapping that avoid expensive the kd-tree construction needed for offline photon mapping. Additionally,
we explore importance sampling and adaptive rendering techniques that allow focused computations in important regions.
Interactive Diffuse Global Illumination: Diffuse reflection effects, such as color bleeding, are expensive to
compute since all locations in the scene potentially illuminate each other. We explore image-space hierarchies, similar to
hierarchical radiosity, that cluster computations from adjacent positions in image-space rather than object-space. This work
leverages multiresolution render-to-mipmap techniques on the GPU for further acceleration.
Interactive Volumetric Shadows: Light visibility plays an important role in volumetric illumination in addition to
surface illumination. Visibility changes introduce shafts of light, often referred to as "god rays," inside participating media.
We explore hybrid image- and object-space techniques that accelerate volumetric shadow computations over either pure shadow volume or
shadow map based techniques.
Alternate BRDF Models: Choosing an appropriate model for fitting, sampling, specifying, and rendering material
properties is key to quality, performance, and data size. This work explores models for bidirectional reflectance distribution
functions based on a half-vector parameterization. This allows for efficient importance sampling in addition to fitting
sampled materials using a process similar to the multi-Phong lobe model of Lafortune.