A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Discussion <s> This paper presents a new reflectance model for rendering computer synthesized images. The model accounts for the relative brightness of different materials and light sources in the same scene. It describes the directional distribution of the reflected light and a color shift that occurs as the reflectance changes with incidence angle. The paper presents a method for obtaining the spectral energy distribution of the light reflected from an object made of a specific real material and discusses a procedure for accurately reproducing the color associated with the spectral energy distribution. The model is applied to the simulation of a metal and a plastic. <s> BIB001 </s> A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Discussion <s> Texture-map computations can be made tractable through use of precalculated tables which allow computational costs independent of the texture density. The first example of this technique, the “mip” map, uses a set of tables containing successively lower-resolution representations filtered down from the discrete texture function. An alternative method using a single table of values representing the integral over the texture function rather than the function itself may yield superior results at similar cost. The necessary algorithms to support the new technique are explained. Finally, the cost and performance of the new technique is compared to previous techniques. <s> BIB002 </s> A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Discussion <s> ``Bump'''' mapping is a variant of texture mapping where the texture information is used to alter the surface normal. Current techniques to pre-filter textures are all relying on the fact that the texture information can be linearly "factored out" of the shading equation, and therefore can be pre-averaged in some way. This is not the case with bump maps, and those techniques fail to filter them correctly. We propose here a technique to pre-filter bump maps by building a pyramid where each level stores distributions of normal vectors reconstructed from the distribution given by the underlying bump map. The distributions are represented as sums of a small number of Phong-like spreads of normal vectors. The technique, besides allowing an effective and smooth transition between a bump map and a single surface description, gives rise to the concept of a multiple surface, where each point of the single surface is characterized by more than one normal vector. This allows the description of visually complex surfaces by a trivial modification of current local illumination models. When a surface has an underlying microstructure, masking and self-shadowing are important factors in its appearance. Along with the filtering of normals we include the filtering of the masking and self-shadowing information. This is accomplished by computing the limiting angles of visibility and their variance along the two texture axes for the reconstructed distribution of normals. These techniques allow the modeling of any surface whose microstructure we can model geometrically. This includes complex but familiar surfaces such as anisotropic surfaces, many woven cloth, and stochastic surfaces. <s> BIB003 </s> A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Discussion <s> Physically-based reflectance models typically represent light scattering as a function of surface geometry at the pixel level. With changes in viewing resolution, the geometry imaged within a pixel can undergo significant variations that result in changing reflectance characteristics. To address these transformations, we present a multiresolution reflectance framework based on microfacet normal distributions within a pixel over different scales. Since these distributions must be efficiently determined with respect to resolution, they are recorded at multiple resolution levels in mipmaps. The main contribution of this work is a real-time mipmap filtering technique for these distribution-based parameters that not only provides smooth reflectance transitions in scale, but also minimizes aliasing. With this multiresolution reflectance technique, our system can rapidly and accurately incorporate fine reflectance detail that is customarily disregarded in multiresolution rendering methods. <s> BIB004 </s> A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Discussion <s> Filtering is critical for representing detail, such as color textures or normal maps, across a variety of scales. While MIP-mapping texture maps is commonplace, accurate normal map filtering remains a challenging problem because of nonlinearities in shading---we cannot simply average nearby surface normals. In this paper, we show analytically that normal map filtering can be formalized as a spherical convolution of the normal distribution function (NDF) and the BRDF, for a large class of common BRDFs such as Lambertian, microfacet and factored measurements. This theoretical result explains many previous filtering techniques as special cases, and leads to a generalization to a broader class of measured and analytic BRDFs. Our practical algorithms leverage a significant body of work that has studied lighting-BRDF convolution. We show how spherical harmonics can be used to filter the NDF for Lambertian and low-frequency specular BRDFs, while spherical von Mises-Fisher distributions can be used for high-frequency materials. <s> BIB005 </s> A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Discussion <s> The reflectance of a surface depends upon the resolution at which it is imaged. In this work, we propose to represent this resolution-dependent reflectance as a mixture of multiple conventional reflectance models and present a framework for efficiently rendering the reflectance effects of such mixture models over different resolutions. To rapidly determine reflectance at runtime with respect to resolution, we record the mixture model parameters at multiple resolution levels in mipmaps and propose a technique to minimize aliasing in the filtering of these mipmaps. This framework can be applied to several widely used parametric reflectance models and can be implemented in graphics hardware for real-time processing, using a presented hardware-accelerated technique for nonlinear filtering of mixture model parameters. In addition, shadowing and masking effects can be included into this framework to increase the realism of rendering. With this mixture model filtering and rendering framework, our system can efficiently render the fine reflectance detail that is customarily disregarded in conventional rendering methods. <s> BIB006 </s> A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Discussion <s> Shadow computation in dynamic scenes under complex illumination is a challenging problem. Methods based on precomputation provide accurate, real-time solutions, but are hard to extend to dynamic scenes. Specialized approaches for soft shadows can deal with dynamic objects but are not fast enough to handle more than one light source. In this paper, we present a technique for rendering dynamic objects under arbitrary environment illumination, which does not require any precomputation. The key ingredient is a fast, approximate technique for computing soft shadows, which achieves several hundred frames per second for a single light source. This allows for approximating environment illumination with a sparse collection of area light sources and yields real-time frame rates. <s> BIB007
Each algorithm is well adapted, under some hypotheses, to a specific type of surface. Those using a single symmetric lobe are well adapted, for instance, to smooth isotropic surfaces (i.e., derivable and rotation invariant surfaces). Those using a single asymmetric lobe are well adapted to smooth anisotropic surfaces, such as those made of microcylinders. Those using multiple symmetric lobes are well adapted to surfaces with sharp edges, resulting in a small number of privileged normal directions, often found with manufactured surfaces. Methods using multiple asymmetric lobes would be well adapted to a very large class of surfaces, at the cost of higher memory needs. However, all these algorithms share the same limitations. Some are coming from the hypothesis that correlations and parallax offsets or Jacobians can be neglected. They are discussed in Section 8. The other main limitation comes from the symmetry hypotheses used to be able to represent a 4D BRDF with a 2D NDF, as in BIB002 . Indeed, many realistic BRDFs do not have this symmetry. For instance, the geometrical attenuation factor of the Cook-Torrance model BIB001 , or the normalization factor of the Ward model  , accounting for self-shadowing and self-masking effects at the microscale, cannot be reduced via symmetries to 2D functions. They cannot be included in the rðl; vÞ term in (12) either, because they depend on n. Hence, the above algorithms cannot be accurate for grazing view or light angles, where self-masking and self-shadowing become important (even if they were correctly taken into account at the macroscale A). In practice, all the methods approximate f A with a Gaussian having the same first and second moments as f A . If y (or m for the convolution method) has n components, then n first moments and nðn þ 1Þ=2 second moments must be stored per texel (which gives a total of two, five, and nine parameters for n 3). Alternatively, if off-diagonal elements in the second moment matrix can be neglected, then only 2n parameters are needed. Thus, the advantage of using moments is that it does not require a lot of memory. The drawback is that a single Gaussian lobe is insufficient to accurately represent distributions with several lobes (see Fig. 2 ). The advantage of using a basis of functions is simplicity. The drawback is that it is impractical to use this method when f has high frequencies, especially on GPU, due to the large number of coefficients to handle. This is the case of the Heaviside function for horizon and shadow map filtering, and this explains why Annen et al.  had to use scaling and offsetting tricks. This is also the case with highly specular BRDFs, and this is why Han et al. BIB005 propose another method than spherical harmonics for these cases. The advantage of using a spanning set of functions is that, in general, only a few terms are necessary to represent a function ' accurately, even if it has high frequencies (e.g., narrow lobes). Although now the indices k i must be stored in addition to the "basis" coefficients a i , this generally gives more accurate results, for the same number of parameters, than using a basis of functions. Another advantage is that it is generally possible to get better interpolation methods (for instance, to have lobes rotating between two configurations, instead of a simple crossfading yielding ghosting artifacts). A first drawback of this approach is that a costly nonlinear optimization is generally necessary to decompose a function in such a way BIB003 , BIB004 , BIB005 , BIB006 , whereas simple dot products would suffice to find its coefficients in an orthonormal basis. This is a problem to prefilter a map in real time (which is necessary for shadow maps, for instance). The second drawback is that two neighbor footprints A and A 0 will generally use different "basis" functions B k A;i 6 ¼ B k A 0 ;i . Therefore, in general, the coefficients a A;i and a A 0 ;i and the indices k A;i and k A 0 ;i cannot be linearly averaged or interpolated. This is why Fournier BIB003 does not MIP-map nor interpolate them, but instead interpolate the values given by BIB007 for each texel (which is costly). Still, in specific cases, this interpolation is justified. For instance, if B k is a Gaussian of moments k BIB004 , BIB006 . But this is accurate only if k A;i and k A 0 ;i are close, i.e., if the "lobes" are aligned BIB004 , BIB005 , BIB006 . And this alignment is not always possible, for instance, at sharp edges. In summary, when high frequencies (e.g., narrow lobes) are expected, it is generally preferable to use a spanning set of functions. When no a priori information is available, using a basis of functions is generally the best choice.