Graphics Reference
In-Depth Information
not a problem for the original application, because it just modeled the spread of
point light sources around the specular direction, and the maximum pixel value is
full white. When it is used in global illumination however, the BRDF is integrated
over a set of outgoing directions, and in this context it must match the actual trans-
fer of radiant power. That is, the lobes need to be appropriately elongated as they
are narrowed. Unfortunately this complicates energy conservation near grazing.
Models that uses Phong-like cosine terms are typically referred to as cosine lobe
models . The increasing specularity near grazing is an important visual element
that is missed when Phong models are applied to general surface reflection. Peter
Shirley, a pioneer in physically based rendering, had noted the importance (and
the absence) of an energy conserving Phong-like model that includes increasing
specularity at grazing. Michael Ashikhmin finally succeeded in constructing such
a model in 2000 [Ashikhmin and Shirley 00]. This model, which is now known
as the Ashikhmin-Shirley BRDF model, also includes an anisotropic extension.
(Phong's model was purely isotropic.)
One reason to base specular reflection on cos
α
is that it can be computed
using simple vector operations:
( l
) ( l
cos
α =
2
·
n
)(
v
·
n
·
v
) .
However, one disadvantage is that cos
gets negative if the view direction and
the reflected direction are more than 90 apart. In practice, the cosine is clamped
to zero where it goes negative.
Another approach is to replace cos
α
with cos 2 , as the value is never negative
for directions on the hemisphere. Jim Blinn proposed a different way of measur-
ing how far
α
v is away from the specular direction using the angle between the
surface normal and the half-vector midway between the incoming and outgoing
directions. In symbols,
l
+
v
h
=
.
(8.3)
l
+
v
The half-vector h aligns with the surface normal if, and only if, the outgoing di-
rection is the reflection of the incoming direction. Furthermore, h continuously
deviates from the normal as the outgoing direction deviates from the specular
direction. In Blinn's model, the cosine of the half-angle
θ h that the half-vector
h makes with the surface normal is used in place of the specular deviation an-
gle
between the outgoing vector and the specular direction. As in the Phong
model, the specularity is controlled using the exponent m of cos m
α
θ h .Thevalueof
cos
θ h is computed from the dot product of the half-vector and the surface normal:
θ h = h
n . Note that this depends on the normalization of h in Equation (8.3).
cos
·
Search WWH ::




Custom Search