12.1 Light Emission

All objects with temperature above absolute zero have moving atoms. In turn, as described by Maxwell’s equations, the motion of atomic particles that hold electrical charges causes objects to emit electromagnetic radiation over a range of wavelengths. As we’ll see shortly, most of the emission is at infrared frequencies for objects at room temperature; objects need to be much warmer to emit meaningful amounts of electromagnetic radiation at visible frequencies.

Many different types of light sources have been invented to convert energy into emitted electromagnetic radiation. Understanding some of the physical processes involved is helpful for accurately modeling light sources for rendering. A number are in wide use today:

  • Incandescent (tungsten) lamps have a small tungsten filament. The flow of electricity through the filament heats it, which in turn causes it to emit electromagnetic radiation with a distribution of wavelengths that depends on the filament’s temperature. A frosted glass enclosure is often present to absorb some of the wavelengths generated in order to achieve a desired SPD. With an incandescent light, much of the power in the SPD of the emitted electromagnetic radiation is in the infrared bands, which in turn means that much of the energy consumed by the light is turned into heat rather than light.
  • Halogen lamps also have a tungsten filament, but the enclosure around them is filled with halogen gas. Over time, part of the filament in an incandescent light evaporates when it’s heated; the halogen gas causes this evaporated tungsten to return to the filament, which lengthens the life of the light. Because it returns to the filament, the evaporated tungsten doesn’t adhere to the bulb surface (as it does with regular incandescent bulbs), which also prevents the bulb from darkening.
  • Gas-discharge lamps pass electrical current through hydrogen, neon, argon, or vaporized metal gas, which causes light to be emitted at specific wavelengths that depend on the particular atom in the gas. (Atoms that emit relatively little of their electromagnetic radiation in the not-useful infrared frequencies are selected for the gas.) Because a broader spectrum of wavelengths are generally more visually desirable than the chosen atoms generate directly, a fluorescent coating on the bulb’s interior is often used to transform the emitted frequencies to a wider range. (The fluorescent coating also helps by converting ultraviolet wavelengths to visible wavelengths.)
  • LED lights are based on electroluminescence: they use materials that emit photons due to electrical current passing through them.

For all of these sources, the underlying physical process is electrons colliding with atoms, which pushes their outer electrons to a higher energy level. When such an electron returns to a lower energy level, a photon is emitted. There are many other interesting processes that create light, including chemoluminescence (as seen in light sticks) and bioluminescence—a form of chemoluminescence seen in fireflies. Though interesting in their own right, we won’t consider their mechanisms further here.

Luminous efficacy measures how effectively a light source converts power to visible illumination, accounting for the fact that for human observers, emission in non-visible wavelengths is of little value. Interestingly enough, it is the ratio of a photometric quantity (the emitted luminous flux) to a radiometric quantity (either the total power it uses or the total power that it emits overall wavelengths, measured in flux):

StartFraction integral normal upper Phi Subscript normal e Baseline left-parenthesis lamda right-parenthesis upper V left-parenthesis lamda right-parenthesis normal d lamda Subscript Baseline Over integral normal upper Phi Subscript normal i Baseline left-parenthesis lamda right-parenthesis normal d lamda Subscript Baseline EndFraction comma

where upper V left-parenthesis lamda right-parenthesis is the spectral response curve introduced in Section 5.4.3.

Luminous efficacy has units of lumens per Watt. If normal upper Phi Subscript normal i is the power consumed by the light source (rather than the emitted power), then luminous efficacy also incorporates a measure of how effectively the light source converts power to electromagnetic radiation. Luminous efficacy can also be defined as a ratio of luminous exitance (the photometric equivalent of radiant exitance) to irradiance at a point on the surface, or as the ratio of exitant luminance to radiance at a point on a surface in a particular direction.

A typical value of luminous efficacy for an incandescent tungsten lightbulb is around 15 normal l normal m slash normal upper W . The highest value it can possibly have is 683, for a perfectly efficient light source that emits all of its light at lamda equals 555 normal n normal m , the peak of the upper V left-parenthesis lamda right-parenthesis function. (While such a light would have high efficacy, it wouldn’t necessarily be a pleasant one as far as human observers are concerned.)

12.1.1 Blackbody Emitters

A blackbody is a perfect emitter: it converts power to electromagnetic radiation as efficiently as physically possible. While true blackbodies aren’t physically realizable, some emitters exhibit near-blackbody behavior. Blackbodies also have a useful closed-form expression for their emission as a function of temperature and wavelength that is useful for modeling non-blackbody emitters.

Blackbodies are so-named because they absorb absolutely all incident power, reflecting none of it. Thus, an actual blackbody would appear perfectly black, no matter how much light was illuminating it. Intuitively, the reasons that perfect absorbers are also perfect emitters stem from the fact that absorption is the reverse operation of emission. Thus, if time was reversed, all of the perfectly absorbed power would be perfectly efficiently re-emitted.

Planck’s law gives the radiance emitted by a blackbody as a function of wavelength lamda and temperature upper T measured in Kelvins:

upper L Subscript normal e Baseline left-parenthesis lamda comma upper T right-parenthesis equals StartFraction 2 h c squared Over lamda Superscript 5 Baseline left-parenthesis normal e Superscript h c slash lamda k Super Subscript b Superscript upper T Baseline minus 1 right-parenthesis EndFraction comma

where c is the speed of light in the medium ( 299 comma 792 comma 458 normal m slash normal s in a vacuum), h is Planck’s constant, 6.62606957 times 10 Superscript negative 34 Baseline normal upper J normal s , and k Subscript b is the Boltzmann constant, 1.3806488 times 10 Superscript negative 23 Baseline normal upper J slash normal upper K , where Kelvin (K) is the unit of temperature. Blackbody emitters are perfectly diffuse; they emit radiance equally in all directions.

Figure 12.1 plots the emitted radiance distributions of a blackbody for a number of temperatures.

Figure 12.1: Plots of emitted radiance as a function of wavelength for blackbody emitters at a few temperatures, as given by Equation (12.1). Note that as temperature increases, more of the emitted light is in the visible frequencies (roughly 370 nm–730 nm) and that the spectral distribution shifts from reddish colors to bluish colors. The total amount of emitted energy grows quickly as temperature increases, as described by the Stefan–Boltzmann law in Equation (12.2).

The Blackbody() function computes emitted radiance at the given temperature T in Kelvin for the n wavelengths in lambda.

<<Spectrum Method Definitions>>+=  
void Blackbody(const Float *lambda, int n, Float T, Float *Le) { const Float c = 299792458; const Float h = 6.62606957e-34; const Float kb = 1.3806488e-23; for (int i = 0; i < n; ++i) { <<Compute emitted radiance for blackbody at wavelength lambda[i]>> 
Float l = lambda[i] * 1e-9; Float lambda5 = (l * l) * (l * l) * l; Le[i] = (2 * h * c * c) / (lambda5 * (std::exp((h * c) / (l * kb * T)) - 1));
} }

The Blackbody() function takes wavelengths in nm, but the constants for Equation (12.1) are in terms of meters. Therefore, we must first convert the wavelength to meters by scaling it by 10 Superscript negative 9 .

<<Compute emitted radiance for blackbody at wavelength lambda[i]>>= 
Float l = lambda[i] * 1e-9; Float lambda5 = (l * l) * (l * l) * l; Le[i] = (2 * h * c * c) / (lambda5 * (std::exp((h * c) / (l * kb * T)) - 1));

The Stefan–Boltzmann law gives the radiant exitance (recall that this is the outgoing irradiance) at a point normal p Subscript for a blackbody emitter:

upper M left-parenthesis normal p Subscript Baseline right-parenthesis equals sigma upper T Superscript 4 Baseline comma

where sigma is the Stefan–Boltzmann constant, 5.67032 times 10 Superscript negative 8 Baseline normal upper W normal m Superscript negative 2 Baseline normal upper K Superscript negative 4 . Note that the total emission over all frequencies grows very rapidly—at the rate upper T Superscript 4 . Thus, doubling the temperature of a blackbody emitter increases the total energy emitted by a factor of 16.

Because the power emitted by a blackbody grows so quickly with temperature, it can also be useful to compute the normalized SPD for a blackbody where the maximum value of the SPD at any wavelength is 1. This is easily done with Wien’s displacement law, which gives the wavelength where emission of a blackbody is maximum given its temperature:

lamda Subscript normal m normal a normal x Baseline equals StartFraction b Over upper T EndFraction comma

where b is Wien’s displacement constant, 2.8977721 times 10 Superscript negative 3 Baseline normal m normal upper K .

<<Spectrum Method Definitions>>+= 
void BlackbodyNormalized(const Float *lambda, int n, Float T, Float *Le) { Blackbody(lambda, n, T, Le); <<Normalize Le values based on maximum blackbody radiance>> 
Float lambdaMax = 2.8977721e-3 / T * 1e9; Float maxL; Blackbody(&lambdaMax, 1, T, &maxL); for (int i = 0; i < n; ++i) Le[i] /= maxL;

Wien’s displacement law gives the wavelength in meters where emitted radiance is at its maximum; we must convert this value to nm before calling Blackbody() to find the corresponding radiance value.

<<Normalize Le values based on maximum blackbody radiance>>= 
Float lambdaMax = 2.8977721e-3 / T * 1e9; Float maxL; Blackbody(&lambdaMax, 1, T, &maxL); for (int i = 0; i < n; ++i) Le[i] /= maxL;

The emission behavior of non-blackbodies is described by Kirchoff’s law, which says that the emitted radiance distribution at any frequency is equal to the emission of a perfect blackbody at that frequency times the fraction of incident radiance at that frequency that is absorbed by the object. (This relationship follows from the object being assumed to be in thermal equilibrium.) The fraction of radiance absorbed is equal to 1 minus the amount reflected, and so the emitted radiance is

upper L prime Subscript normal e Baseline left-parenthesis upper T comma omega comma lamda right-parenthesis equals upper L Subscript normal e Baseline left-parenthesis upper T comma lamda right-parenthesis left-parenthesis 1 minus rho Subscript normal h normal d Baseline left-parenthesis omega right-parenthesis right-parenthesis comma

where upper L Subscript normal e Baseline left-parenthesis upper T comma lamda right-parenthesis is the emitted radiance given by Planck’s law, Equation (12.1), and rho Subscript normal h normal d Baseline left-parenthesis omega right-parenthesis is the hemispherical-directional reflectance from Equation (8.1).

The blackbody emission distribution provides as useful metric for describing the emission characteristics of non-blackbody emitters through the notion of color temperature. If the shape of the SPD of an emitter is similar to the blackbody distribution at some temperature, then we can say that the emitter has the corresponding color temperature. One approach to find color temperature is to take the wavelength where the light’s emission is highest and find the corresponding temperature using Equation (12.3).

Incandescent tungsten lamps are generally around 2700 K color temperature, and tungsten halogen lamps are around 3000 K. Fluorescent lights may range all the way from 2700 K to 6500 K. Generally speaking, color temperatures over 5000 K are described as “cool,” while 2700–3000 K is described as “warm.”

12.1.2 Standard Illuminants

Another useful way of categorizing light emission distributions are a number of “standard illuminants” that have been defined by Commission Internationale de l’Éclairage (CIE), which also specified the XYZ matching curves that we saw in Section 5.2.1.

The Standard Illuminant A was introduced in 1931 and was intended to represent average incandescent light. It corresponds to a blackbody radiator of about 2856 normal upper K . (It was originally defined as a blackbody at 2850 normal upper K , but the precision of the constants used in Planck’s law subsequently improved. Therefore, the specification was updated to be in terms of the 1931 constants, so that the illuminant was unchanged.) Figure 12.2 shows a plot of the SPD of the A illuminant.

Figure 12.2: Plot of the CIE Standard Illuminant A’s SPD as a Function of Wavelength in nm. This illuminant represents incandescent illumination and is close to a blackbody at 2856 normal upper K .

(The B and C illuminants were intended to model daylight at two times of day and were generated with an A illuminant in combination with specific filters. They are no longer used. The E illuminant is defined as a constant-valued SPD and is used only for comparisons to other illuminants.)

The D illuminant describes various phases of daylight. It was defined based on characteristic vector analysis of a variety of daylight SPDs, which made it possible to express daylight in terms of a linear combination of three terms (one fixed and two weighted), with one weight essentially corresponding to yellow-blue color change due to cloudiness and the other corresponding to pink-green due to water in the atmosphere (from haze, etc.). D65 is roughly 6504 normal upper K color temperature (not 6500 normal upper K —again due to changes in the values used for the constants in Planck’s law) and is intended to correspond to mid-day sunlight in Europe. (See Figure 12.3.) The CIE recommends that this illuminant be used for daylight unless there’s a specific reason not to.

Figure 12.3: Plot of the CIE Standard Illuminant D’s SPD as a Function of Wavelength in nm. This illuminant represents noontime daylight at European latitudes.

Finally, the F series of illuminants describes fluorescents; it is based on measurements of a number of actual fluorescent lights. Figure 12.4 shows the SPDs of two of them.

Figure 12.4: Plots of the F4 and F9 Standard Illuminants as a Function of Wavelength in nm. These represent two fluorescent lights. Note that the SPDs are quite different. Spikes in the two distributions correspond to the wavelengths directly emitted by atoms in the gas, while the other wavelengths are generated by the bulb’s fluorescent coating. The F9 illuminant is a “broadband” emitter that uses multiple phosphors to achieve a more uniform spectral distribution.

The files named cie.stdillum.* in the scenes/spds directory in the pbrt example scenes distribution have the SPDs of the standard illuminants, measured at 5-nm increments from 300 nm to 830 nm.