The RADIANCE Lighting Simulation and Rendering System

Gregory J. Ward / GJWard@lbl.gov

ABSTRACT

1. Introduction

2. System Design Goals

2.1 Ensure Accurate Calculation of Luminance

2.2 Model Both Electric Light and Daylight

2.3 Support a Variety of Reflectance Models

2.4 Support Complicated Geometry

2.5 Take Unmodified Input from CAD Systems

3. Approach

3.1 Hybrid Deterministic/Stochastic Ray Tracing

3.2 Cached Indirect Irradiances for Diffuse Interreflection

3.3 Adaptive Sampling of Light Sources

3.4 Automatic Preprocessing of "Virtual" Light Sources

3.5 User-directed Preprocessing of "Secondary" Sources

3.6 Hierarchical Octrees for Spatial Subdivision

3.7 Patterns and Textures

3.8 Parallel Processing

3.9 Animation

Radiance is often used to create walk-through animations of static environments. Though this is not typically the domain of ray-tracing renderers, we employ some techniques to make the process more efficient. The most important technique is the use of recorded depth information at each pixel to interpolate fully ray-traced frames with a z-buffer algorithm. Our method is similar to the one explained by Chen et al [3], where pixel depths are used to recover an approximate 3-dimensional model of the visible portions of the scene, and a z-buffer is used to make visibility decisions for each intermediate view. This makes it possible to generate 30 very good-looking frames for each second of animation while only having to render about 5 of them. Another technique we use is unique to Radiance, which is the sharing of indirect irradiance values. Since these values are view-independent, there is no sense in recomputing them each time, and sharing them during the animation process distributes the cost over so many frames that the incremental cost of simulating diffuse interreflection is negligible.

Finally, it is possible to get interactive frame rates from advanced rendering hardware using illumination maps instead of ray-tracing the frames directly. (An illumination map is a 2-dimensional array of color values that defines the surface shading.) Such maps may be kept separate from the surfaces' own patterns and textures, then combined during rendering. Specular surfaces will not appear correct since they depend on the viewer's perspective, but this may be a necessary sacrifice when user control of the walk-through is desired. Interactive rendering has long been touted as a principal advantage of radiosity, when in fact complete view-independence is primarily a side-effect of assuming diffuse reflection. Radiance calculates the same values using a ray-tracing technique, and storage and rendering may even be more efficient since large polygons need not be subdivided into hundreds of little ones -- an illumination map works just as well or better.

3.10 Implementation Issues

4. Applications and Results

4.1 Electric Lighting

4.2 Daylighting

5. Conclusion

6. Acknowledgements

7. Software Availability

8. Bibliography

9. Appendix