The reflectance function RF needs to be measured for each wavelength in the visible spectrum or, at the very least, for the color channels of the RGB color space. Such a reflectance function, schematized in Figure 2.1, can fully describe a material appearance; however, due to its high dimensionality it is currently unfeasible to measure and would produce a vast amount of data, which cannot be handled by current computer graphics and virtual reality applications, considering also that the most general definition of a RF includes the dependence on the polarization state of the incident and reflected light.
For these reasons, in computer graphics and related fields it is customary to rely on several classes of simplified reflectance functions, obtained by discarding some dimensions, more suited for a practical use; in Figure 2.2 we report the taxonomy of the reflectance functions introduced in this section, along with their parameterizations.
The aforementioned simplifications are obtained by assuming the radiance to be constant along the rays of light, which allows discarding the z coordinate of the points on the surface under consideration. By dropping the dependency on the time (ti and t0, hence assuming that the light transport does not take a measurable time), on the wavelength (λi and λ0), thus assuming that the interaction with the surface does not change the wavelength of the light and restricting our attention to the RGB color bands) and assuming no transmittance (θt = ϕt = 0), we obtain the Bidirectional Surface Scattering Reflectance Distribution Function (BSSRDF), the most complex reported in Figure 2.2, which has 8 dimensions. The BSSRDF is able to represent a ray of light incident at a point on the surface, traveling under the surface where it gets scattered in different directions before leaving the surface from a different point and in a different direction. Many common translucent materials like milk, skin and alabaster are characterized by their subsurface scattering behavior that smooth the appearance of surface details, with the light shining through them. Thanks to its properties the BSSRDF is able to describe phenomena like translucency, self shadowing, self occlusions and inter-reflections. Unfortunately, it is still a very complex function to measure and often simpler representations are preferred over it.
Table 2.1: Parameters of a general reflectance function
Figure 2.1: Schematic representation of the general reflectance function RF.
Figure 2.2: Reflectance functions.
If we assume that the ray o light leaves the surface at the same location where it was incident (hence xi = xr = x, yi = yr = y), we obtain the Bidirectional Texture Function (BTF), a 6-dimensional representation able to describe not only the local variations in reflectance but also the mesoscopic effects due to small-scale geometry, like self-shadowing, self-occlusions and inter-reflections: BTF(x, y, θi, ϕi, θr, ϕr). The term BTF was first introduced by Dana et al. [DVGNK99] as an image-based representation that can describe the fine-scale appearance of a rough surface. The mesoscopic effects are difficult to quantify and separate from the measured data, hence BTF acquisition generally needs a large number of samples of the surface as well as high-end hardware support due to lengthy acquisition times and storage demands [HF13]. Nevertheless, there exist low cost acquisition setups, like the kaleidoscopic device by Han and Perlin [HP03] or the more recent mechanical gantry with rotating arms by Filip et al. [FVK14], built using a toy construction set. BTFs generally result in very realistic material appearance. The first BTF database, described in [DVGNK99], contains 61 real-world surfaces, each observed under 205 different combinations of lighting and viewing illuminations (plus 205 additional measurements for anisotropic surfaces), consisting of over 14.000 images.
A similar parameterizations is used to represent the Spatially Varying Bidirectional Reflectance Distribution Function (SVBRDF), used to describe opaque, smooth materials that can have different reflectance at each point of the surface (non-homogeneous materials) [HF13]. The SVBRDF parameterization hence must takes into account the location over the surface: SVBRDF (x, y, θi, ϕi, θr, ϕr). Capturing the SVBRDF sometimes requires long measurements and processing times as well as large, specialized and expensive hardware rigs, although under certain assumptions approximate measurements can be performed even with cellphone or tablet cameras [AWL15, RPG15]. The SVBRDF cannot describe subsurface scattering and mesoscopic effects.
For a homogeneous material that can reflect light but also transmit it through its surface we need to reintroduce the transmittance angles (θt, ϕt), thus obtaining the Bidirectional Scattering Distribution Function (BSDF), comprising scattering effects for both reflection and transmission: BSDF(θi, ϕi, θr, ϕr, θt, ϕt). The BSDF can describe both transparent and opaque materials.
If we take into account only the transmittance of homogeneous material it is possible to describe it with the Bidirectional Transmittance Distribution Function (BTDF), suitable to model how the light passes through transparent or semi-transparent surfaces [WMLT07], [HF13]: BTDF(θi, ϕi, θt, ϕt).
An opaque, smooth, homogeneous material can be represented with the Bidirectional Reflectance Distribution Function (BRDF): BRDF(θi, ϕi, θr, ϕr). By looking at Figure 2.2 it is possible to note how the BRDF can be considered a special case of the more complex functions described above [ASMS01]. In fact, the BRDF can be considered as a special case of the BTF and the SVBRDF when the position on the sample surface is fixed; any BTF datasets can be approximated as a sparse linear combination of rotated analytical BRDFs [WDR11] and the SVBRDF parameterization includes extra parameters with respect to the BRDF simply to take into account the location over the surface, but it must fulfill the BRDF reciprocity and energy conservation properties, which will be described in the next sections. Finally, a BSDF can be modeled as a sum of a BRDF (for the reflection component) and a BTDF (for the transmittance component).
2.1 DEFINITION OF THE BRDF
As discussed in the previous section, one of the possible ways to represent the way an opaque, homogeneous material interacts with the light is through the BRDF (Bidirectional Reflectance Distribution Function), a radiometric function currently used to varying levels of accuracy in photorealistic rendering systems. It describes, in the general case, how incident energy redirects in all directions across a hemisphere above the surface. Historically, the BRDF was defined and suggested over the more generalized BSSRDF (Bidirectional Scattering Surface Reflectance Distribution function) [JMLH01] by Nicodemus [NRH*77], as a simplified reflectance representation for opaque surfaces: the BRDF assumes that light entering a material leaves the material at the same position, whereas the BSSRDF can describe light transport between any two incident rays on a surface. Many common translucent materials like milk, skin and alabaster cannot be represented by a BRDF since they are characterized by their subsurface scattering behavior that smooths the surface details, with the light shining through them [GLL*04]. These materials are expensive to measure and render. However many techniques have been proposed JMLH01], [DS03], [HBV03], [DWd*08], [DI11], [KRP*15].
Before defining the reflectance we provide a brief introduction to some important radiometric terms. Radiant Energy, the basic unit of energy, is measured in Joules [J] and indicated with the symbol Q: