Graphics Reference
In-Depth Information
(1) Create the light
vector by projecting the
environment light onto
the SH basis function
(2b) From the BRDF texture, create a column
vector (BRDF vector) corresponding to the view
vector transformed into local coordinates
BRDF
vector
Light
vector
Environment
map
Texel representing the coefficient
of the basis of each order
(2a) Light
vector
transformed
into local
coordinates
Rotation matrix
(3) The product of the
transformed light vector
from (2a) and the BRDF
texture from (2b) gives the
rendering result
Rendering result
Figure 10.7 The process of constructing and rendering with a BRDF texture. (Courtesy of Jan Kautz.)
for the particular viewing direction
v are obtained by looking up the values in
each of the BRDF textures (Step 2b in Figure 10.7 ) for the surface point. These
are collected into a BRDF vector matching the light vector for the incident illu-
mination, and the dot product of the two vectors computes the reflection integral,
via Equation (10.8) (Step 3 in Figure 10.7 ) .
The rendering algorithm illustrated in Figure 10.7 assumes the viewpoint,
lighting, and surface BRDF can all be changed interactively at render time. An
optimization is possible if the viewing position is fixed and the lighting is the only
thing that changes, because the viewing direction at each surface sample point is
also fixed. Because of this, the BRDF texture lookup need only be done once
for each viewing direction. Furthermore, it is more efficient to rotate these fixed
BRDF vectors to the global coordinate system rather than rotate the light vec-
tor to each local coordinate system. However, graphics hardware at the time the
paper was written (2002) was not capable of performing a 25
25 matrix mul-
tiplication; that had to be computed on the CPU and then uploaded to the GPU
at render time. Even so, the authors were able to achieve interactive frame rates
under the restriction of a fixed viewpoint. In the more general case, the incident
light, the viewpoint, and the surface BRDFs can all change dynamically at ren-
×
 
 
 
 
 
 
 
 
 
Search WWH ::




Custom Search