Graphics Reference
In-Depth Information
at each sample point. In principle, the surface BRDF could be extracted from
this data, but doing so requires geometry recovery to remove shadows and issues.
Arranging all the response vectors into the columns of a matrix produces the re-
sponse matrix. Columns of this matrix depict the response of light to the variation
in lighting and viewing direction; rows of this matrix depict the variation in the
BRDF across the surface of the object. The response vectors that best represent
the spatial variation in the BRDF, obtained by PCA, are called eigen-BRDFs .A
linear combination of eigen-BRDFs becomes a BRDF, of sorts, at the point to be
rendered.
As previously mentioned, accurately reproducing nonlinear effects such as
specular reflection requires too many basis vectors if PCA is applied to the entire
response matrix. So local PCA is applied to the matrix to compute the eigen-
BRDFs. As described above, this involves clustering the rows of the response ma-
trix and applying PCA (specifically, Leen's iterative PCA) to each cluster. Proper
clustering assures that only a few eigen-BRDFs are needed to accurately represent
the reflectance behavior in each cluster, regardless of how it may vary. The paper
shows that specular reflection can also be approximated accurately by using only
a very few eigen-BRDFs. The paper describes how the final rendering process
can be implemented by GPU shaders to perform real-time rendering.
The process of constructing eigen-BRDFs for the BTF data works as follows.
First, BTF data is constructed from captured images. The arrangement employs a
locally linear approximation to the object surface: the u -axis and v -axis of the BTF
data correspond, respectively, to an x -axis and y -axis on the tangent plane at each
sample point on the surface. One texture image is created for each pair of lighting
and viewing direction ( Figure 9.14(a) ) . From each texture in the BTF data, the
pixels corresponding to the same location on the object are collected and arranged
into a texture image such that the horizontal direction corresponds to changing
viewing directions, and the vertical direction corresponds to changing lighting
directions ( Figure 9.14(b) ). Each such texture is described as a “BTF BRDF ”tex-
ture. One BTF BRDF texture is created for each location in each pixel of the BTF
data. For each BTF BRDF texture, all the pixels in the texture are placed into a
column vector, which serves as the response vector, then these column vectors
are arranged side by side into the columns of a response matrix. Columns of this
matrix thus represent the response variation with changing viewing directions and
lighting directions, while the rows represent the response variation with changing
location in the small area ( Figure 9.15 ) . Finally, local PCA is applied to the re-
sponse matrix. As a result, each point on the surface is contained in a unique
cluster. The appearance variation of the point with changing viewing and light-
ing directions is represented by a linear combination of the PCA basis vectors
(eigen-BRDFs) for that cluster ( Figure 9.16 ) .
Search WWH ::




Custom Search