Computer Graphic Rendering of Material Surfaces
The BRDF models represented in the previous sections can capture subtle differences in surface light reflection. In order to generate synthetic images using BRDFs containing this level of generality requires a shader capable of capturing the detail which is available in the BRDFs. A new shader an extension of Radiance, called iBRDF, has been developed which accurately imitates this detail through its ability to utilize arbitrary BRDF functions.
We have developed an efficient method of performing this Monte Carlo integration. Instead of casting rays in a uniform distribution about the hemisphere and weighting the returned value by the reflectance, the ray distribution itself is weighted by the reflectance. This can be done in a straightforward manner when the BRDF is composed of invertible functions such as Gaussians. When the BRDF is represented discretely, either by taking measurements over the hemisphere or by sampling a non-invertible functional form, another method must be used to generate random variates for Monte Carlo integration. This can be accomplished by first subtracting the smallest hemisphere that fits within the BRDF data. This removes the diffuse or uniformly varying portion of the BRDF and leaves only the highly directional specular part. Walker's alias selection method [WALKE77] can be employed to create random variates from these remaining specular reflectances
The images in Figure 8 below display the improvement iBRDF offers in rendering surfaces modelled with arbitrary BRDFs. The top image which uses the built-in BRDF shader of Radiance, reflects the lights correctly, but there is no reflection at all of the indirect illumination from the surrounding checkered floor. Performing uniform sampling of the BRDF begins to captures this indirect contribution as seen in the middle figure, but the reflected image of the floor contains excessive noise. The best results are obtained with the importance sampling of iBRDF in the bottom figure. The reflection of the floor is accurately captured in the four spheres of this image using the same number of samples as the middle image.
Figure 8: Four spheres of increasing glossiness rendered using three different methods. (top) Radiance's built-in arbitrary BRDF shader incorrectly ignores the contribution from indirect illumination). (middle) Uniform Monte Carlo sampling (60 samples per pixel) results in an image filled with sampling noise. (bottom) Monte Carlo importance sampling with iBRDF (60 samples per pixel) correctly renders image.