A Ray Tracing Solution to Diffuse Interreflection

by Greg Ward, Francis Rubinstein and Robert Clear


An efficient ray tracing method is presented for calculating interreflections between surfaces with both diffuse and specular components. A Monte Carlo technique computes the indirect contributions to illuminance at locations selected during the rendering process. The indirect illuminance values are averaged over surfaces and used in place of a constant ``ambient'' term. Illuminance calculations are made only for those areas participating in the selected view, and the results are stored so that subsequent views can reuse common values. The density of the calculation is adjusted to maintain a constant accuracy, permitting less populated portions of the scene to be computed quickly. Successive reflections use proportionally fewer samples, which speeds the process and provides a natural limit to recursion. The technique can also model diffuse transmission and illumination from large area sources, such as the sky.

Unfortunately, we do not have an HTML version of this paper to offer. Instead, we have a set of PostScript files that together comprise the original submission, and a set of scanned images from the final, printed proceedings. The PostScript files are smaller and print faster, but are not an exact facsimile of the published paper.

The PostScript files are bundled in a compressed tar archive, sg88ps.tar.Z (1843K). A README file contained in this archive describes its contents.

The scanned pages from the published paper are offered in GIF and compressed TIFF formats. The GIF's are a bit smaller, but some quality may be lost on pages 5, 6 and 7, which were originally in 24-bit color. (If you lack 24-bit capability, then you are better off with the GIF images.) All other pages are grayscale. To pick up the pages one at a time, click on the file names below:

  1. page1.gif (562K) or page1.tif (874K)
  2. page2.gif (414K) or page2.tif (699K)
  3. page3.gif (455K) or page3.tif (759K)
  4. page4.gif (646K) or page4.tif (1033K)
  5. page5.gif (160K) or page5.tif (674K)
  6. page6.gif (790K) or page6.tif (2352K)
  7. page7.gif (1193K) or page7.tif (3853K)
  8. page8.gif (1390K) or page8.tif (2274K)