i
i
i
i
i
i
i
i
264 7. Advanced Shading
The resulting vectors are normalized, and the dot product of these vectors
is then clamped to be non-negative, so computing the
cos term. Valient
converts the sin × tan term to a two-dimensional texture lookup, where
the texture coordinates are n · l and n · v. Hoxley [314] gives a texture
lookup version and a computed version.
In conclusion, although a large variety of analytic BRDF models exist
in the literature, for most applications, a simple yet reasonably expressive
model such as the one in Equation 7.49 will suffice. In cases where a
different BRDF is desired, pieces of models presented here can be added in
a “mix-and-match” fashion to produce a new analytic BRDF. The Phong
NDF can be extended to a sum of lobes, or an anisotropic NDF can be
used [42, 43, 1326]. Alternatively, the Kajiya-Kay modification [620] can
be applied to convert an isotropic BRDF into an anisotropic one. The
realism of the BRDF can be improved by incorporating visibility terms
that change the behavior at glancing angles. The visibility term derived by
Kelemen and Szirmay-Kalos [640] is particularly worthy of consideration
due to its low cost and physical basis. The Lambertian diffuse term can
be replaced with one that models the tradeoff between surface and body
reflectance (see Section 7.5.4).
This “mixing and matching” can be extended to pieces represented as
lookup tables, since they do not have an analytic closed-form expression.
This might be because the values are manually painted for creative reasons.
NDF maps are one possibility, but there are others. For example, a one-
dimensional lookup table could be used for the Fresnel term, to allow for
hand-painted color shifts at glancing angles. In other cases, BRDF terms
are derived by computing integrals that may not have closed-form solutions,
such as the microfacet geometry term introduced by Ashikhmin et al. [41],
or the reciprocal energy-conserving diffuse term introduced by Shirley et
al. [640, 1170]. Incorporating such lookup tables can make a BRDF more
expressive. However, a lookup table is not something we can modify by a
parameter, so it cannot easily be made to vary over a surface.
ThefieldofpossibleBRDFmodelsandrepresentations is vast. We have
endeavored to cover the options of most relevance to real-time rendering,
but many others remain. Interested readers are referred to the available
surveys [44, 926, 1129, 1170, 1345, 1346], as well as the second volume of
Glassner’s Principles of Digital Image Synthesis [409] and the more recent
Digital Modeling of Material Appearance [275] by Dorsey, Rushmeier, and
Sillion.
7.7 BRDF Acquisition and Representation
In most real-time applications, BRDFs are manually selected and their
parameters set to achieve a desired look. However, sometimes BRDFs are