The surface reflectance properties significantly affect the appearance of real-world objects.
Computer graphics and vision researchers are particularly interested in representing the inter-action between materials and light in an efficient way. One of the most popular models is the bidirectional reflectance distribution function(BRDF). BRDFs assume that light hits a surface point from an illumination direction ωl, and leaves the surface from the same point in a view direction ωv on the hemisphere to which ωl belongs. As a result, a BRDF is a real-valued bi-variate spherical function ρ(ωl, ωv) ∈ R that gives the reflectance of a surface point with respect to the illumination and view directions. In some literatures, BRDFs are instead defined over the entire unit sphere S2. This further combines the reflective and transmissive parts of light trans-port together into one material model for transparent surfaces. Figure 7.5 shows some examples of BRDFs.
In this dissertation, we consider BRDFs measured from real-world opaque object surfaces,
and introduce two compact functional models for BRDFs based on univariate and multivariate SRBFs. The first model relies on discretizing the illumination (or view) domain of a BRDF, so that the reflectance distribution of each illumination (or view) direction can be separately described using the scattered univariate SRBF representation (Section 7.2.1). In addition, the second model instead approximates a BRDF in its intrinsic domain to derive a continuous func-tional model based on the parameterized multivariate SRBF representation (Section 7.2.2).
7.2.1 Univariate SRBFs
Problem Formulation
Recall that the proposed scattered univariate SRBF representation can only handle a univariate spherical function, but the BRDF is intrinsically a bi-variate spherical function of illumination and view directions. This implies that the scattered univariate SRBF representation can not be directly applied to model a BRDF. Fortunately, a measured BRDF is one set of discrete re-flectance observations in the most common case. The key idea is that if we collect all the BRDF data of a single view direction, the resulting data set will be the observations of a univariate spherical function, which describes the reflectance values in this view direction from different illumination directions.
More formally, let Ωv = {ωv,i∈ S2}Ii=1Ωv denote the set of sampled view directions for a mea-sured BRDF ρ(ωl, ωv), where IΩv is the total number of sampled view directions. Then, all the BRDF data of the i-th view direction ωv,iform a set of observations for the univariate spherical function ρi(ωl) = ρ(ωl, ωv,i), which can be roughly interpreted as the function of exitant radi-ance received in ωv,i from different illumination directions. Similar to the HDR environment maps, each resulting univariate spherical function is separately approximated with a linear com-bination of J univariate SRBFs as
∀i, ρi(ωl) ≈ ˆρi(ωl) =
j=1are respectively the basis coefficient set, the center set, and the bandwidth set of i-th illumination-dependent reflectance function ρi(ωl). The SRBF parameters in Equation 7.3 thus can be obtained by solving the following set of total IΩv distinct unconstrained least-squares optimization problems:
∀i, min
Note that one may instead discretize the illumination domain of a BRDF and then respec-tively optimize the resulting view-dependent spherical function of each sampled illumination direction. The choice of discretizing which domain strongly depends on the target application.
We will further discuss this subject in Section 7.3 and present an application of the scattered univariate SRBF representation for BRDFs based on discretized view domain in ray tracing algorithms.
Run-Time Rendering
Based on the scattered univariate SRBF representation, the shading color of a pixel is obtained from the SRBF parameters of discretized reflectance functions ρ1(ωl), ρ1(ω2), . . . , ρIΩv(ωl) at run-time. All of the SRBF parameters are stored in one or more two-dimensional textures if necessary. To achieve smooth view transitions, we apply linear interpolation on the recon-structed results of the K nearest neighbors of a view direction. The rendering process thus consists of the following steps:
1. Search for the K nearest neighbors of current novel view direction from Ωv.
2. For each neighboring direction, sample the texture(s) for all the corresponding SRBF pa-rameters and then reconstruct the reflectance value of current novel illumination direction as Equation 7.3.
3. The final shading color is then given by linearly interpolating the reconstructed reflectance value of each neighboring direction.
To efficiently perform Step 1 on GPUs, we construct a two-dimensional index texture in the parabolic parameterization [62] (or a cubic index texture) to record the indices of the K nearest neighbors for the associated direction of each texel in this texture. In current implementation, we only consider a single texel in the index texture, whose associated direction is nearest to current novel view direction. Note that this approach requires a high-resolution index texture (typically 256×256 in the parabolic parameterization or 6×128×128 for the cubic format) to avoid visible artifacts and will increase the amount of data for rendering by a substantial factor.
For computing the interpolation weights, the coordinates of each element in Ωv also need to be stored in a texture or transferred to buffers on GPUs.
7.2.2 Multivariate SRBFs
Problem Formulation
Although the scattered univariate SRBF representation can accurately approximate BRDFs, the run-time rendering process still needs carefully designed interpolation techniques for smooth transitions across novel illumination/view directions. It is also not compact and frequently provides limited compression ratios when counting the additional auxiliary data for smooth interpolation. Fortunately, an important observation is that BRDFs are intrinsically bi-variate spherical functions. This implies that it would be better to represent BRDFs in their intrinsic domain using multivariate SRBFs.
Table 7.1: Statistics and timing measurements of different SRBF representations for BRDFs, including the scattered univariate SRBF (SU-SRBF) representation and the parameterized mul-tivariate SRBF(PM-SRBF) representation. All compressed data were stored as half-precision (16-bit) floating point numbers [65].
Material Blue Metallic Paint Krylon Blue Nickel
Illumination/view directions 1536 1536 1536
Raw data (MB) 27 27 27
Representation SU-SRBF PM-SRBF SU-SRBF PM-SRBF SU-SRBF PM-SRBF
SRBFs: J 5 6 4 8 5 6
Parameterized variates: N
0- 3 - 4 - 3
Compressed data (KB) 90 0.15 72 0.25 90 0.15
Squared error ratio 0.36% 0.34% 1.01% 1.02% 0.51% 0.44%
Compression time (min.) 9.54 10.81 10.7 19.36 8.06 10.49
Based on the parameterized multivariate SRBF representation (Section 4.3), we can approx-imate the BRDF ρ(ωl, ωv) with total J multivariate SRBFs by Equation 4.10 with the parameter-ization functions defined in Equation 4.11. It is then straightforward to apply Algorithm 4.3 to derive the SRBF parameters by solving the following unconstrained least-squares optimization problem:
Unlike univariate SRBFs, the rendering process of approximated BRDFs based on multivariate SRBFs is quite simple and intuitive. Since the proposed parameterized multivariate SRBF rep-resentation is a continuous functional model, no additional interpolation techniques for smooth transitions across different illumination (or view) directions are required. This implies that there is no need to generate auxiliary data for efficient run-time rendering. As a result, the rendering process corresponds to directly evaluating Equations 4.10 and 4.11 on GPUs. Note that the de-rived multivariate SRBF parameters are frequently compact enough to be stored in GPU buffers rather than textures, which will slightly reduce data access time.
7.2.3 Experimental Results
The experiments and simulation timings of BRDF approximation were conducted and measured on a workstation with an Intel Core 2 Extreme QX9650 CPU, an NVIDIA GeForce 9800 GX2 graphics card, and 8 gigabytes main memory under Microsoft Windows Vista operating
sys-Table 7.2: Comparisons of the rendering performance of different SRBF representations for BRDFs, including the scattered univariate SRBF (SU-SRBF) representation and the parame-terized multivariate SRBF(PM-SRBF) representation. The screen resolution and the number of directional light sources were respectively set to 640×480 and 3. In the row Auxiliary data, we list the amount of additional data for efficient run-time rendering. All floating point numbers were stored in half precision [65].
Model Buddha Bunny Venus
Material Krylon Blue Blue Metallic Paint Nickel
Vertices 25k 36k 25k
Representation SU-SRBF PM-SRBF SU-SRBF PM-SRBF SU-SRBF PM-SRBF
Auxiliary data (KB) 1548 0 1548 0 1548 0
Total data (KB) 1620 0.25 1638 0.15 1638 0.15
Frames per second 129.35 270.54 112.23 548.79 142.41 672.36
tem. We also employed NVIDIA CUDA [128] to accelerate parts of the optimization process and Microsoft Direct3D 10 [15] for run-time rendering on GPUs. In our experiments, the uni-variate and multiuni-variate Gaussian SRBFs were adopted to represent BRDFs with non-negative constraints on basis coefficients. The SRBF center and bandwidth sets were also constrained to be the same for red, green, and blue channels of a BRDF. To generate high-quality images, we employed per-pixel lighting and performed the rendering process mostly in the pixel shader.
The measured BRDFs were provided in courtesy of Cornell University [140] and Mitsubishi Electric Research Laboratories(MERL) [113, 114, 120].
Table 7.1 compares the statistics and timing measurements of different SRBF representa-tions for BRDFs, including the scattered univariate SRBF representation (Section 7.2.1) and the parameterized multivariate SRBF representation (Section 7.2.2). For parameterized multi-variate SRBFs, the first three parameterization coefficient sets were initialized as the half-way, illumination, and view parameterizations before optimization, while the remainders were set to random real numbers. Figure 7.6 also plots the squared error ratio versus the number of SRBFs for different SRBF representations. It particularly shows that with the same number of SRBFs, the approximation errors of the parameterized multivariate SRBF representation are close to those of the scattered univariate SRBF representation, but the amount of compressed data for the parameterized multivariate SRBF representation is much more compact from Table 7.1.
In Figures 7.7–7.10, we further demonstrate the reconstructed and rendered images of var-ious measured BRDFs based on the proposed SRBF representations. These figures show that the proposed approaches can provide high-quality and accurate approximation for real-world BRDFs with different reflectance properties. Table 7.2 also compares the rendering perfor-mance of the proposed SRBF representations for BRDFs at run-time. It clearly reveals that both SRBF representations can easily achieve real-time rendering rates for a medium-size model.
In general, the multivariate SRBF representation for BRDFs is superior to the univariate
0%
Figure 7.6: Plots of the squared error ratio versus the number of basis functions based on different SRBF representations for BRDFs, including scattered univariate SRBFs (SU-SRBF) and parameterized multivariate SRBFs (PM-SRBF).
model in terms of storage space and rendering performance. Univariate SRBFs usually re-quire less number of basis functions to achieve approximation errors comparable to multivari-ate SRBFs, but they have to respectively tabulmultivari-ate the parameters of different view directions.
This certainly results in a limited compression ratio for the univariate representation. Mean-while, multivariate SRBFs can additionally exploit the coherence in different view directions to provide a more compact representation for BRDFs. As for run-time rendering, univariate SRBFs need auxiliary texture data to efficiently interpolate the reconstructed reflectance values of nearby view directions for smooth transitions. While the auxiliary data consume GPU mem-ory bandwidth, the interpolation process further increases the total computational costs. By contrast, although the reconstruction costs of univariate SRBFs are theoretically lower, the ap-proximated BRDFs based on multivariate SRBFs are much more compact so that GPU memory bandwidth can be substantially saved. Interpolation is also inherent in the multivariate SRBF model without additional memory or computational overhead. From the discussions above, it might seem that the univariate SRBF representation for BRDFs is rather useless. However, the univariate model is suitable for some graphics applications, such as importance sampling in ray tracing algorithms. We will present more details about this topic in Section 7.3.