Next: Ambient Lighting
Up: IMPLEMENTATION DETAILS
Previous: IMPLEMENTATION DETAILS
The traditional ``Whitted-style''
illumination model has many variations, but for one light the
following formula is representative:
where the vector quantities are shown
in Figure 7, and
L is the radiance (color) being computed,
s is a shadow term that is either zero or one depending on whether
the point luminaire is visible, kd is the diffuse reflectance,
la is the ambient illumination, le is the luminaire color,
kh is the Phong highlight reflectance,
ks is the specular reflectance, Ls is the
radiance coming from the specular direction, kt is the specular
transmittance, and Lt is the radiance coming from the transmitted direction.
Although this basic formula serves us well, we believe some
alterations can improve performance and appearance. In particular,
we are careful in allowing ks and kt to change with incident angle,
we modify the ambient component la to
be a very crude approximation to global illumination
(Section 3.1.1), and we
allow soft shadowing by making s vary
continuously between zero and one (Section 3.2).
Finally, we break the materials into several classes to
compute only non-zero coefficients for efficiency.

Figure 7:
The directional quantities associated with
Equation 1.
One well-known problem with Equation 1 is that
the specular terms do not change with incident angle. This
is different from the behavior of materials in the real
world [14]. In a conventional ray tracer
the values of kd, ks and kt can be hand-tuned to
depend on viewpoint but in an interactive setting this does
not work well. Instead, we first break down materials into
a few distinct subjective categories suggested in
[31]: diffuse , dielectric , metal ,
and polished . The modifications for these materials is
described below:
Diffuse. For diffuse surfaces we use Equation 1
with kh = ks = kt = 0. This is the same as a conventional
ray tracer.
Metal. Metal has a reflectance that varies with incident
angle [6]. We are currently ignoring this effect, and other
effects of real metal, and using traditional Whitted-style
lighting. We use Equation 1 with kd = kt = 0, and
kh = ks.
Dielectric. Dielectrics, such as glass and water, have
reflectances that depend on viewing angle. These reflectances
are modeled by the Fresnel Equations, which for the unpolarized
case can be approximated by a polynomial developed by Schlick [28]:

and kt is determined by conservation of energy:

The internal attenuation of intensity I is the standard exponential decay
with distance t according to extinction coefficient :

To approximate the specular reflection of an area light source we add
a Phong term to dielectrics as well.
Polished. We use the coupled model presented in [30].
This model allows the ks to vary with incident angle, and allows
the diffuse appearance to decrease with angle. As originally presented, it is
a BRDF, but it is modified here to be appropriate for a clamped RGB
lighting model with an ambient component:
where the first term assumes the ambient component arises from
directionally uniform illumination.
Next: Ambient Lighting
Up: IMPLEMENTATION DETAILS
Previous: IMPLEMENTATION DETAILS
William M Martin
2/5/1999