Physically Accurate Lighting Simulation in Computer Graphics Software

A.B. Khodulev, E.A. Kopylov

Prev Contents    Introduction    Lightscape System    Specter System    Radiance System    Scenes for Comparison    Experimental Results    Conclusion    Acknowledgments Next


In this section we refer to documents (file names are presented) accompanying Radiance distribution and to the paper [War94].

3.1 Comprehensiveness of local model

Light sources

Light in Radiance is an attribute for self-luminous surfaces (ref. to, p.5). Thus introducing a self-luminous object is the single way to specify a light source in a scene for Radiance.

Note that Radiance has no capability for specifying point or cone light sources at all, i.e. when the light starts from an abstract point. As an approximation for point light in Radiance a small lighting sphere can be used.

The usage of self-luminous objects in Radiance has some restrictions (ref. to, p.4):

Radiance has not intelligent sampling of light sources. The only case that is handled properly is a parallelogram. Light sources of the spherical form are not sampled at all in Radiance. Other sources are approximately rectangular (ref. to Radiance Digest, v2n5.2, 537 line).

Radiance has converter from IES luminaire data to Radiance description format (ref. to reference manual, "ies2rad"), but this conversion is not strict: round and elliptical sources are approximated as spherical or ring ones. The reverse conversion is not supported.

Radiance allows to produce scene description for CIE standard sky distribution at the given date and local standard time (ref. to reference manual, "gensky").

Radiance supports angular distribution of light output.


Instead of creating an attribute by a bundle of parameters (as in Specter system) Radiance has bundle of curtailed materials (plastic, metal, infinitely thin translucent, dielectric, prism, etc.). In Radiance the reflection model is defined individually for each material type, whereas in Specter reflection model is defined by attribute parameters.

Radiance incorporates many material types. The most common of them though have direct counterparts in Specter. There is an almost exact one-to-one correspondence to Specter material types.

The structure of material types is not uniform in Radiance. Some types are introduced as a consequence of restrictions in illumination model (like to mirror and prism), other ones arose due to different reflection models (plastic, metal, and trans). This structure with mechanism of attribute blend (ref. to, p.12) is not comprehensive and difficult in usage even for an experienced user. The principal new kinds of objects in Radiance are a boundary between two dielectrics (ref. to, p.7) and "antimatter" that subtracts volumes from other volumes (ref. to, p.9).

The basic reflection model used in Radiance takes into account both specular and diffuse interactions with both sides of a surface, similar to Specter. The Fresnel's law and BRDFs (even for anisotropic surfaces) are supported, but in the specular calculation of Radiance only the contribution from direct light sources is considered while applying BRDF (ref. to, p.8). Additionally, Radiance supports anisotropic reflectances making use of an elliptical highlight orientation (ref. to, p.6).

3.2 Completeness of global light propagation model

Radiance model, in contrast to Specter, is restricted by ray tracing to follow light in the reverse direction and does not require the same discretization as Specter's technique of illumination maps (ref. to renderin.not). Instead of calculating an explicit mesh, Radiance subdivides surfaces into patches, computes illumination at one point on each patch and interpolates the result. A separate octree data structure is used to hold the values calculated at the points. The density of these calculation points is adjusted by Radiance in response to an alteration of the illumination environment. To compute the indirect illumination (direct one is computed separately) at a point in a scene, Radiance sends a few hundred rays uniformly distributed over the projected hemisphere. The sampling process is applied recursively for multiple reflections. The density of illuminance calculations is reduced at each level of interreflection (ref. to [War94]).

The approach, implemented in Radiance, has the following disadvantage: light transfers from (semi)specular surfaces will not be handled efficiently. This problem was partially solved in Radiance by introduction of secondary light sources that are used during the calculation to account reflected or otherwise transferred light sources. Radiance supports secondary light sources in only planar surfaces which have "secondary source" attribute: "mirror", "prism1", or "prism2". Of course, this solution is not sufficient for physically-based accurate lighting simulation in scenes where semispecular materials are used.

If multiple facing mirrors appear in a scene, the number of secondary sources can multiply quite rapidly. In scenes with mutual reflections an endless series of virtual light sources may be created. To avoid this Radiance provides a set of empirical methods (ref. to secsrc.not, [War94]):

which still do not guarantee accuracy of calculation.

To summarize, the global model is not complete; the specular-to-diffuse transfer is restricted to planar mirrors only. In addition, user should be aware of (and specify by means of options) how many bounces of specular and diffuse interreflections he wants to simulate.

3.3 Accuracy of simulation

Radiance has a lot of control options influencing simulation accuracy (number of specular and diffuse bounces, maximal number of rays shot from one point, several parameters controlling light source sampling, etc.) so that it is a nontrivial problem to decide what values of parameters should be used to drive the Radiance simulation in the best possible way (or, at least, in a good way) for a given scene. No direct accuracy estimation / control is available.

3.4 User interface features

Output result presentation

Radiance provides output results in the image form (including images in color fringes), in the tabular form, and by means of interactive "Pick".

Visualization tool of Radiance allows to use only gamma correction (the same for three channels) that is a crude way of compensating for the nonlinear response function of a display device.

System interactivity

Radiance system is a set of batch modules running under UNIX operating system. The usage of Radiance assumes a certain familiarity with UNIX. For example, a user should be experienced enough to handle situations when output of a program is "piped" into another program (ref. to, p.4).

The only interactive actions available are change of camera position, control of lighting simulation options, and interactive "Pick" to interrogate luminance values. No interactive scene varying is available.

Prev Contents    Introduction    Lightscape System    Specter System    Radiance System    Scenes for Comparison    Experimental Results    Conclusion    Acknowledgments Next

Copyright 1996 Andrei B. Khodulev, Edward A. Kopylov.- All Rights Reserved [Home]