A Reflectance Model For Computer Graphics
A Reflectance Model For Computer Graphics
Graphics
ROBERT L. COOK
Lucasfilm Ltd.
and
KENNETH E. TORRANCE
Cornell University
A new reflectance model for rendering computer synthesized images is presented. The model accounts
for the relative brightness of different materials and light sources in the same scene. It describes the
directional distribution of the reflected light and a color shift that occurs as the reflectance changes
with incidence angle. A method for obtaining the spectral energy distribution of the light reflected
from an object made of a specific real material is presented, and a procedure for accurately reproducing
the color associated with the spectral energy distribution is discussed. The model is applied to the
simulation of a metal and a plastic.
Categories and Subject Descriptors: 1.3.7 [Computer Graphics]: Three-Dimensional Graphics and
Realism--color, shading, shadowing, and texture
General Terms: Algorithms
Additional Key Words and Phrases: image synthesis, reflectance
INTRODUCTION
T h e r e n d e r i n g of realistic i m a g e s i n c o m p u t e r g r a p h i c s r e q u i r e s a m o d e l of h o w
o b j e c t s reflect light. T h e r e f l e c t a n c e m o d e l m u s t d e s c r i b e b o t h t h e color a n d t h e
s p a t i a l d i s t r i b u t i o n of t h e r e f l e c t e d light. T h e m o d e l is i n d e p e n d e n t of t h e o t h e r
a s p e c t s of i m a g e s y n t h e s i s , s u c h as t h e s u r f a c e g e o m e t r y r e p r e s e n t a t i o n a n d t h e
h i d d e n surface algorithm.
M o s t real s u r f a c e s are n e i t h e r i d e a l s p e c u l a r (mirrorlike) r e f l e c t o r s n o r i d e a l
diffuse ( L a m b e r t i a n ) reflectors. P h o n g [14, 15] p r o p o s e d a r e f l e c t a n c e m o d e l for
c o m p u t e r g r a p h i c s t h a t was a l i n e a r c o m b i n a t i o n of s p e c u l a r a n d diffuse reflection.
T h e s p e c u l a r c o m p o n e n t was s p r e a d o u t a r o u n d t h e s p e c u l a r d i r e c t i o n b y u s i n g
a cosine f u n c t i o n r a i s e d to a power. S u b s e q u e n t l y , B l i n n [5, 6] u s e d s i m i l a r i d e a s
t o g e t h e r w i t h a s p e c u l a r r e f l e c t i o n m o d e l f r o m [23], w h i c h a c c o u n t s for t h e off-
s p e c u l a r p e a k s t h a t o c c u r w h e n t h e i n c i d e n t l i g h t is a t a g r a z i n g a n g l e r e l a t i v e to
This paper is a revision of a paper that appeared in Computer Graphics, vol. 15, no. 3, 1981, ACM.
This work was supported in part by the National Science Foundation under Grant MCS-7811984.
Authors' addresses: R. L. Cook, Lucasfflm Ltd., P.O. Box 2009, San Rafael, CA 94912; K. E. Torrance,
Sibley School of Mechanical and Aerospace Engineering, Cornell University, Ithaca, NY 14853
Permission to copy without fee all or part of this material is granted provided that the copies are not
made or distributed for direct commercial advantage, the ACM copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the Association
for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific
permission.
O 1982 ACM 0730-0301/82/0100-0007 $00.75
ACM Transactionson Graphics,Vol. 1, No. 1, January 1982,Pages 7-24.
8 R.L. Cook and K. E. Torrance
the surface normal. Whitted [24] extended these models by adding a term for
ideal specular reflection from perfectly smooth surfaces. All of these models are
based on geometrical optics (ray theory).
The foregoing models treat reflection as consisting of three components:
ambient, diffuse, and specular. The ambient component represents light that is
assumed to be uniformly incident from the environment and that is reflected
equally in all directions by the surface. The diffuse and specular components are
associated with light from specific light sources. The diffuse component represents
light that is scattered equally in all directions. The specular component represents
highlights, light that is concentrated around the mirror direction. The specular
component was assumed to be the color of the light source; the Fresnel equation
was used to obtain the angular variation of the intensity, but not the color, of the
specular component. The ambient and diffuse components were assumed to be
the color of the material. The resulting models produce images that look realistic
for certain types of materials.
This paper presents a reflectance model for rough surfaces that is more general
than previous models. It is based on geometrical optics and is applicable to a
broad range of materials, surface conditions, and lighting situations. The basis of
this model is a reflectance definition that relates the brightness of an object to
the intensity and size of each light source that illuminates it. The model predicts
the directional distribution and spectral composition of the reflected light. A
procedure is described for calculating red, green, and blue (RGB) values from the
spectral energy distribution. The new reflectance model is then applied to the
simulation of a metal and a plastic, with an explanation of why images rendered
with previous models often look plastic, and how this plastic appearance can be
avoided.
THE R E F L E C T A N C E M O D E L
Given a light source, a surface, and an observer, a reflectance model describes the
intensity and spectral composition of the reflected light reaching the observer.
The intensity of the reflected light is determined by the intensity and size of the
light source and by the reflecting ability and surface properties of the material.
The spectral composition of the reflected light is determined by the spectral
composition of the light source and the wavelength-selective reflection of the
surface. In this section the appropriate reflectance definitions are introduced and
combined into a general reflectance model. Figure 1 contains a summary of the
symbols used in this model.
The geometry of reflection is shown in Figure 2. An observer is looking at a
point P on a surface. V is the unit vector in the direction of the viewer, N is the
unit normal to the surface, and L is the unit vector in the direction of a specific
light source. H is a normalized vector in the direction of the angular bisector of
V and L, and is defined by
V+L
H-
length(V + L) '
which is the unit normal to a hypothetical surface that would reflect light
/
Fig. 2. The geometry of reflection.
specularly from the light source to the viewer, a is the angle between H and N,
and 0 is the angle between H and V, so that cos(0) = V . H = L . t t .
T h e energy of the incident light is expressed as energy per unit time and per
unit area of the reflecting surface. T h e intensity of the incident light is similar,
but is expressed per unit projected area and, in addition, per unit solid angle [20,
8]. (Solid angle is the projected area of the light source divided by the square of
the distance to the light source and can be treated as a constant for a distant
light source.) The energy in an incoming beam of light is
El = Ii(N.L) d~0i.
Except for mirrors or near-mirrors, the incoming beam is reflected over a wide
range of angles. For this reason, the reflected intensity in any given direction
depends on the incident energy, not just on the incident intensity. The ratio of
the reflected intensity in a given direction to the incident energy from another
direction (within a small solid angle) is called the b i d i r e c t i o n a l reflectance. This
reflectance is fundamental for the study of reflection (for additional discussion,
see [20, 8]). For each light source, the bidirectional reflectance R is thus
/ ~ - Ir
El"
The reflected intensity reaching the viewer from each light source is then
Ir = R E i
= RIi (N. L) d~i.
The bidirectional reflectance may be split into two components, specular and
diffuse. The specular component represents light that is reflected from the surface
of the material. The diffuse component originates from internal scattering (in
which the incident light penetrates beneath the surface of the material) or from
multiple surface reflections (which occur if the surface is sufficiently rough). The
specular and diffuse components can have different colors if the material is not
homogeneous. The bidirectional reflectance is thus
R=sRs+dRa, where s+d--1.
In addition to direct illumination by individual light sources, an object may be
illuminated by background or ambient illumination. All light that is not direct
illumination from a specific light source is lumped together into ambient illumi-
nation. The amount of light reflected toward the viewer from any particular
direction of ambient illumination is small, but the effect is significant when
integrated over the entire hemisphere of illuminating angles. Consequently, it is
convenient to introduce an ambient (or hemispherical-directional) reflectance,
R,. This reflectance is an integral of the bidirectional reflectance R and is thus a
linear combination of Rs and Rd. For simplicity, we assume that R, is independent
of viewing direction. In addition we assume that the ambient illumination is
uniformly incident. The reflected intensity due to ambient illumination is defined
by
La = R . l i . f .
The term f is the fraction of the illuminating hemisphere that is not blocked by
nearby objects (such as a corner) [25]. It is given by
f = 1 ¢ (N. L) do,i,
qr J
where the integration is done over the unblocked part of the illuminating
hemisphere.
ACM Transactions on Graphics, Vol. 1, No. 1, January 1982.
A Reflectance Model for Computer Graphics 11
Th e total intensity of the light reaching the observer is the sum of the reflected
intensities from all light sources plus the reflected intensity from any ambient
illumination. Assuming that f = 1, the basic reflectance model used in this paper
becomes
This formulation accounts for the effect of light sources with different intensities
and different projected areas which may illuminate a scene. For example, an
illuminating beam with the same intensity (Ii) and angle of illumination (N. L) as
another beam, but with twice the solid angle (do,i) of that beam, will make a
surface appear twice as bright. An illuminating beam with twice the intensity of
another beam, but with the same angle of illumination and solid angle, will also
make a surface appear twice as bright.
This paper does not consider the reflection of light from other objects in the
environment. This reflection can be calculated as in [24] or [6] if the surface is
perfectly smooth, but even this pure specular reflection should be wavelength
dependent.
The above reflectance model implicitly depends on several variables. For
example, the intensities depend on wavelength, s and d depend on the material,
and the reflectances depend on these variables plus the reflection geometry and
the surface roughness. The next two sections consider the directional and wave-
length dependence of the reflectance model.
Th e ambient and diffuse components reflect light equally in all directions. Thus
Ra and Ro do not depend on the location of the observer. On the other hand, the
specular component reflects more light in some directions than in others, so that
Rs does depend on the location of the observer.
The angular spread of the specular component can be described by assuming
that the surface consists of microfacets, each of which reflects specularly [23].
Only facets whose normal is in the direction H contribute to the specular
component of reflection from L to V. The specular component is
F DG
R s --
7r (N. L) (N. V) "
The Fresnel term F describes how light is reflected from each smooth microfacet.
It is a function of incidence angle and wavelength and is discussed in the next
section. The geometrical attenuation factor G accounts for the shadowing and
masking of one facet by another and is discussed in detail in [5, 6, 23]. Briefly,
it is
2(N.H)(N.V) 2(N.H)(N.L)~
G=min 1, (V.H) ' ~ J"
The facet slope distribution function D represents the fraction of the facets that
are oriented in the direction H. Various facet slope distribution functions have
ACM Transactions on Graphics, Vol. 1, No. 1, January 1982.
12 R.L. Cook and K. E. Torrance
been considered by Blinn [5, 6]. One of the formulations he described is the
Gaussian model [23]:
D = ce -(~/m)2
where mj is the rms slope of the j t h distribution and wj is the weight of the j t h
distribution. The sum of these weights is 1.
A c~
~°II
~s
c~
14 R.L. Cook and K. E. Torrance
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
1 i I i J
0.4 0.5 0.6 0.7 0.8
(a)
Energy
(b)
reflectance for a polished surface. For nonmetals, for which k = 0, this immedi-
ately gives us an estimate of the index of refraction n. For metals, for which k is
generally not 0, we set k equal to 0 and get an effective value for n from the
normal reflectance. T he angular dependence of F is then available from the
Fresnel equation. T he foregoing procedure yields the correct value of F for normal
incidence and a good estimate of its angular dependence, which is only weakly
dependent on the extinction coefficient k.
To illustrate this procedure, the Fresnel equation for unpolarized incident light
and k = 0 is
1 (g- c) f [c(g + c) - 1]
F - 2 (g--+ c) 2 ~ 1 + [c(g - c) --+--~112j '
where
c = cos(0) = V . H
g2=n2+ c 2 _ 1.
(Note that a similar expression in [5] is missing the i factor.) At normal incidence,
0 = 0; so c = 1, g = n, and
2
F0 = ( n + l J "
n -
1+
- -
0
1-~0"
Values of n determined in this way are then substituted into the original Fresnel
equation to obtain the reflectance F at other angles of incidence. T he procedure
may be repeated at other wavelengths to obtain the spectral and directional
dependence of the reflectance.
Th e dependence of the reflectance on wavelength and the angle of incidence
implies that the color of the reflected light changes with the incidence angle.
Reflectance spectra for copper are shown in Figure 5a. As the incidence angle
(0) approaches ~r/2, the color of the reflected light approaches the color of the
light source (since the reflectance F approaches unity). T he colors corresponding
to the reflection of white light (CIE standard illuminant D6500) from copper are
shown as a function of 0 in Figure 5b. It is evident that the color shift from the
Fresnel equations only becomes important as 8 approaches ~/2 (i.e., as the angle
between V and L approaches ~r).
Calculation of the color shift is computationally expensive. It can be simplified
in one of two ways: by creating lookup tables or by using the following approxi-
mation. Values of F are first calculated for a value of n corresponding to the
average normal reflectance. These values are then used to interpolate between
the color of the material at 0 =- 0 and the color at 0 = 7r/2, which is the color of
the light source because F,~/2 is 1.0 at every wavelength. For example, let the red
ACM Transactions on Graphics, Vol. 1, No. 1, January 1982.
A Reflectance Model for Computer Graphics 17
(a)
0=0 0 = ¢r/2
(b)
0=0 0 = z'/2
(c)
component of the color at normal incidence be Redo and let the red component
of the color of the incident light be Red./2. Then the red component of the color
at other angles is
max(0, Fo - Fo)
Redo = Redo + (Red~/2 - Redo)
F,,/2 Fo
-
The green and blue components are interpolated similarly. Figure 5c shows the
effect of using the approximate procedure to estimate the color of copper as a
function of incidence angle. The approximate procedure yields results that are
similar to those from the complete (but more expensive) procedure (Figure 5b).
The foregoing approximation must always be used if the spectral energy distri-
bution of the reflected light is not known, in which case all of the RGB values are
estimates.
APPLICATIONS
This section discusses the application of the reflectance model to two particular
classes of materials, metals and plastics. T h e main consideration is the homoge-
neity of the material. Substances t h a t are composed of different materials, such
t h a t there is one material at the surface and a n o t h e r b e n e a t h the surface, are
nonhomogeneous and m a y have specular and diffuse components t h a t differ in
color.
A typical plastic has a substrate t h a t is transparent or white, with e m b e d d e d
pigment particles [11]. T h u s the light reflected directly from the surface is only
slightly altered in color from the light source. Any color alterations are a result of
the reflectance of the surface material. Light t h a t penetrates into the material
interacts with the pigments. Internal reflections thus give rise to a colored,
uniformly distributed diffuse reflection.
A plastic m a y thus be simulated by using a colored diffuse c o m p o n e n t and a
white specular component. This is just the model used by P h o n g and Blinn, and
it is why so m a n y computer graphics images t h a t have a significant specular
c o m p o n e n t look like plastic. Figure 6a shows a simulated copper-colored plastic
vase. This figure was generated with the following parameters.
2 lights: Ii = CIE standard illuminant D6500
dwi = 0.0001 and 0.0002
Specular: s =0.1
F =the reflectance of a vinyl mirror
D =B e c k m a n n function with m = 0.15
Diffuse: d =0.9
Rd =the bidirectional reflectance
of copper for normal incidence
Ambient: /ia = 0.01 Ii
Ra = ~Rd
ACM Transactions on Graphics, Vol. l, No. 1, J a n u a r y 1982.
20 R . L . Cook and K. E. Torrance
~i I¸¸ ~
i
(a)
(b)
TABLE I
Material s d m
Carbon 0.3 0.7 0.40
Rubber 0.4 0.6 0.30
Obsidian 0.8 0.2 0.15
L u n a r dust 0.0 1.0 N o t used
Olive drab 0.3 0.7 0.50
Rust 0.2 0.8 0.35
Note t h a t two values for the rms slope are employed to generate a realistic r o u g h
surface finish. T h e specular reflectance c o m p o n e n t has a copper color. T h e copper
vase in Figure 6b does not display the plastic appearance of the vase in Figure 6a,
showing t h a t a correct t r e a t m e n t of the color of the specular c o m p o n e n t is needed
to obtain a realistic nonplastic appearance.
Figure 7 shows vases made of a variety of materials. In every case, the specular
and diffuse c o m p o n e n t s have the same color (i.e., Rd = Fo/Tr). T h e lighting
conditions for all o f the vases are identical to the lighting conditions for Figures
6a and 6b. T h e six metals were generated with the same p a r a m e t e r s used for
Figure 6b, except for the reflectance spectra. T h e six nonmetals were generated
with the p a r a m e t e r s shown in Table I.
Fig. 8. A watch.
CONCLUSIONS
T h e following conclusions can be stated.
1. Th e specular component is usually the color of the material, not the color of
the light source. The ambient, diffuse, and specular components may have
different colors if the material is not homogeneous.
2. Th e concept of bidirectional reflectance is necessary to simulate different light
sources and materials in the same scene.
3. Th e facet slope distribution models used by Blinn are easy to calculate and
are very similar to others in the optics literature. More than one facet slope
distribution function can be combined to represent a surface.
4. The Fresnel equation predicts a color shift of the specular component at
grazing angles. Calculating this color shift is computationally expensive unless
an approximation procedure or a lookup table is used.
5. The spectral energy distribution of light reflected from a specific material can
be obtained by using the reflectance model together with the spectral energy
distribution of the light source and the reflectance spectrum of the material.
The laws of trichromatic color reproduction can be used to convert this
spectral energy distribution to the appropriate RGB values for the particular
monitor being used.
6. Certain types of materials, notably some painted objects and plastics, have
specular and diffuse components that do not have the same color. Metals have
a specular component with a color determined by the light source and the
reflectance of the metal. The diffuse component is often negligible for metals.
ACKNOWLEDGMENTS
The work was performed at the Program of Computer Graphics of Cornell
University. The authors thank Gary Meyer for the invaluable contributions he
made to this paper. His color software and photometric measurements of the
monitors made it possible to accurately convert spectral energy distributions into
RGB values. The authors also thank Dr. Donald Greenberg for his helpful
discussions and valuable suggestions at every stage of the research. T he watch
(Figure 8) was the result of a joint effort with Stuart Sechrest.
REFERENCES
1. BARKMAN, E. F. Specular and diffuse reflectance measurements of aluminum surfaces. In
Appearance of Metallic Surfaces, ASTM Special Tech. Publ. 478, American Society for Testing
and Materials, Philadelphia, 1970, pp. 46-58.
2. BECKMANN, P. AND SPIZZICHINO, A. The Scattering of Electromagnetic Waves from Rough
Surfaces. MacMillan, New York, 1963, pp. 1-33, 70-98.
3. BENNETT, H. n., AND PORTEUS, J . O . Relation between surface roughness and specular reflec-
tance at normal incidence. J. Opt. Soe. Am., 51, 2 (1961), 123-129.
4. BLINN, Z. F., AND NEWELL, M. E. Texture and reflection in computer generated images.
Commun. ACM 19, 10 (Oct. 1976), 542-547.
5. BLINN, J . F . Models of light reflection for computer synthesized pictures. Computer Gr. 11, 2
(1977), 192-198.
6. BLINN, J . F . "Coniputer Display of Curved Surfaces." Ph.D. dissertation, Univ. of Utah, Salt
Lake City, 1978.