Geometric Simplification for Indirect Illumination Calculations

You can obtain a PostScript version of this paper without some of the figures . You can also obtain a PostScript file containing these figures .


Digested Version

Abstract

We present a new method for accelerating global illumination calculations in the generation of physically accurate images of geometrically complex environments. In the new method, the environment geometry is simplified by eliminating small isolated surfaces, and replacing clusters of small surfaces with simple, optically equivalent, boxes. A radiosity solution is performed on the simplified geometry. The radiosity solution is then used in a multi-pass method to estimate the radiances responsible for indirect illumination. We present a preliminary implementation of the new method, and some initial images and timing results. The initial results indicate that using simplified geometries for indirect illumination calculations produces images in times significantly less than previous multi-pass methods without a reduction in image quality.

Introduction

The concept behind a ray tracing/radiosity hybrid is to take advantage of what each does best. Namely, a ray tracing solution is excellent for handling near specular surfaces, but is too expensive for diffuse ones; while a radiosity solution is best for diffuse surfaces, but becomes too expensive for specular ones. A classic hybrid approach is to first run a radiosity solution on the environment with the specular reflections ignored. Then an image is created with ray tracing. When rays bounce from a surface with the intent of gathering specular reflections, processing continues as usual. Suppose though, that a ray is sent to gather for a diffuse reflection. When the surface intersected is found, the radiosity value stored during the radiosity pass is returned and no further processing is necessary since this value is the result of all diffuse reflections. This definition is somewhat simplified but should suffice here. Unfortunately, although a complete radiosity solution for the diffuse energy transfer is less expensive than a ray tracing solution, it is still quite expensive.

Extended Hybrid Algorithm

The extended hybrid method will simplify the environment used by the radiosity pre-pass since the information is only used for diffuse reflections. Surfaces of a small enough size are eliminated and groups of large numbers of small surfaces forming objects are replaced by clumps as shown in Figure 1. Even diffuse surfaces have detailed reflections at close range, so the radiosity values will only be used at a distance of atleast rthresh.


Figure 1: (Left) Rays from the eye and rays to the light source intersect the detailed environment. (Right) Rays for calculating indirect illumination intersect the simplified environment.


Remember that the radiosity pre-pass solution is not meant to be viewed as an accurate final image itself. It is part of the solution which relies on the Monte Carlo path tracing pass to complete the solution.

The solution method then, has three types of surfaces: normal, complex and simple.

Small Isolated Surfaces (Complex Surfaces)

The first issue is how small must an isolated surface be to be ignored in the simplified solution? If we assume that the diffuse non-light source surfaces have radiances of approximately the same order of magnitude relative to the radiance of the light sources, the importance of a surface can be estimated by the solid angle it subtends.

A conservative estimate wmax of the solid angle subtended on i by another surface j is

wmax = A / r2

where r is the minimum distance from i to j, and A is the area of j. The actual solid angle subtended will be less than wmax since r is the minimum distance, and because of the omission of a cosine term. Now specify a wthresh so that any surface with a wmax less than wthresh with respect to every other surface can be discarded because it will have relatively little effect on the weakly directional component of light for any other surface.

We can now throw out any surface which is small enough with respect to all other surfaces, but calculating wmax for each surface from every other surface is an O(N2) problem. To avoid this cost, remember that we will only use the radiosity results when a ray has traveled a distance of atleast rthresh. When this is the case, we can then calculate an area Athresh where any surface smaller can be removed:

Athresh = wthresh * rthesh2

Clusters of Small Surfaces (Simple Surfaces)

While small isolated surfaces will have little effect in a lower detail version of the environment, a cluster of small surfaces will. A simple way to account for the effect of clusters of surfaces is to replace them with a box that is in some sense energy equivalent. The box should provide an energy reflection distribution that is reasonably equivalent to the original surface cluster.

Defining a Cluster

The method for creating simplified equivalent clusters is shown in Figure 2. First, a cluster of small surfaces which could be clumped is manually chosen. A minimum bounding box is fit around the cluster. Each face of the box is discretized into patches, and then the algorithm cast a series of randomly selected rays perpendicularly through each face of this bounding box. The transmittance of the box is represented by shrinking the box according to the percentage of rays that pass through. The reflectance of each patch is set the average reflectance of the surfaces hit while firing rays through that patch.


Figure 2: Patches on the bounding box have reflectance equal to the average reflectance "seen" through the patch. The box is then shrunk to the volume of the enclosed objects. Note that a patch is the average color of the surfaces with no regard for "white space." Also note that a patch with no objects becomes "black" (has a reflectivity of 0). The fact that rays make it through is accounted for by the shrinking of the box.


Results

Notice that this algorithm requires that a user specify the clumps manually. Also, the hierarchy is only one level deep. These simple choices were made in part as a result of not understanding the options available at the time the research was began. It turns out that the results were quite favorable despite these limitations.

To evaluate the effectiveness of GSII, we built a test environment composed of 10,948 surfaces. These surfaces made up the objects in an office including thumb tacks, pens, a computer keyboard and a plant. The detail in the environment, as rendered by GSII, is shown in the three figures below. (Note: Click a figure to get a more detailed [larger] image.)

The radiosity pass of GSII always used the clumps in place of its represented primitives. This solution is at a loss of resolution but a gain in speed. The simplified environment solution was found in less than 1 hour whereas the original environment was halted after running over 142 hours.

During the ray tracing pass, values from the radiosity solution of the simplified environment were returned. However, if a ray leaves a surface with the intent of collecting diffusely reflected light and the surface intersected is too close, the ray assumes that the lower resolution of the simplified environment will produce an unacceptably coarse approximation and continues normally without returning the radiosity value. As a result, the ray tracing pass took longer than a standard hybrid solution but produced images with less artifacts. A classic hybrid solution took 219 minutes and GSII took 254 minutes or 16% longer. Considering both passes, the hierarchical environment saved time and produced a picture as good as or better than the classic solution.

The following figure show the output of the radiosity pre-pass which isn't meant for viewing; but only a low resolution first pass. (Note: Click the figure to get a more detailed [larger] image.)

Finally, the following figures compare a monte carlo path tracing solution (top left). to a full environment radiosity solution (top right), a classic hybrid solution (bottom left), and a GSII hierarchical solution (bottom right) . (Note: Click a figure to get a more detailed [larger] image.)


The monte carlo path tracing solution would take too long to complete and produces much more noise error for a given number of rays. The full environment radiosity solution would likewise take too long and produces too many artifacts for a given number of iterations. The hybrid solution is good, but its radiosity pre-pass was slow and it produces some annoying artifacts (such as the confusing reflections on the Georgia Tech wall plaque.) The GSII hierarchical solution saves much time in the radiosity pre-pass, and produce images with a total noise similar to the hybrid solution, but with less annoying local artifacts.

Acknowledgements

This work was supported by grants from the National Science Foundation and the Apple Computer Company.


For more information, please contact Holly Rushmeier, Charles Patterson, or Aravindan Veerasamy.