The RADIANCE Lighting Simulation and Rendering System

Gregory J. Ward /


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

If we are to model complicated geometry, we must have a practical means to enter these models into our simulation. The creation of a complicated geometric model is probably the most difficult task facing the user. It is imperative that the user be allowed every means to simplify this task, including advanced CAD systems and input devices. If our simulation limits this process in any way, its value is diminished.

Therefore, to the greatest degree possible, we must accept input geometry from any CAD environment. This is perhaps the most difficult of the goals we have outlined, as the detail and quality of CAD models varies widely. Many CAD systems and users produce only 2D or wireframe models, which are next to useless for simulation. Other CAD systems, capable of producing true 3D geometric models, cannot label the component surfaces and associate the material information necessary for an accurate lighting simulation. These systems require a certain degree of user intervention and post-processing to complete the model. Even the most advanced CAD systems, which produce accurate 3D models with associated surface data, do not break surfaces into meshes suitable for a radiosity calculation. The missing information must either be added by the user, inferred from the model, or the need for it must be eliminated. In our case, we eliminate this need by using something other than a radiosity (i.e. finite element) algorithm.

CAD translators have been written for AutoCAD, GDS, ArchiCAD, DesignWorkshop, StrataStudio, Wavefront, and Architrion, among others. None of these translators requires special intervention by the user to reorient surface normals, eliminate T-vertices, or mesh surfaces. The only requirement is that surfaces must somehow be associated with a layer or identifier that indicates their material type.

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

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