A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Procedural Normal Map Filtering <s> We present an adaptive scheme for the interactive animation and display of ocean waves far from the coast. Relying on a procedural wave model, the method restricts computations to the visible part of the ocean surface, adapts the geometric resolution to the viewing distance and only considers the visible waves wavelengths. This yields real-time performances, even when the camera moves. The method allows the user to interactively fly over an unbounded animated ocean, which was not possible using previous approaches. <s> BIB001 </s> A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Procedural Normal Map Filtering <s> Both texture maps and procedural shaders surfer from rendering artifacts during minification. Unlike texture maps, there exist no good automatic method to antialias procedural shaders. Given a procedural shader for a surface, we present a method that automatically creates an antialiased version of the procedural shader. The new procedural shader maintains the original shader's details but reduces artifacts (aliasing or noise) due to minification. This new algorithm creates a pyramid similar to a MIP-Map in order to represent the shader. Instead of storing per-texel color, pyramid stores weighted sums of reflectance functions, allowing a wider range of effects to be antialiased. The stored reflectance functions are automatically selected based on an analysis of the different reflectances found over the surface. When the rendered surface is viewed at close range, the original shader is used, but as the texture footprint grows, the algorithm gradually replaces the shader's result with an antialiased one. <s> BIB002 </s> A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Procedural Normal Map Filtering <s> Realistic animation and rendering of the ocean is an important aspect for simulators, movies and video games. By nature, the ocean is a difficult problem for Computer Graphics: it is a dynamic system, it combines wave trains at all scales, ranging from kilometric to millimetric. Worse, the ocean is usually viewed at several distances, from very close to the viewpoint to the horizon, increasing the multi-scale issue, and resulting in aliasing problems. The illumination comes from natural light sources (the Sun and the sky dome), is also dynamic, and often underlines the aliasing issues. In this paper, we present a new algorithm for modelling, animation, illumination and rendering of the ocean, in real-time, at all scales and for all viewing distances. Our algorithm is based on a hierarchical representation, combining geometry, normals and BRDF. For each viewing distance, we compute a simplified version of the geometry, and encode the missing details into the normal and the BRDF, depending on the level of detail required. We then use this hierarchical representation for illumination and rendering. Our algorithm runs in real-time, and produces highly realistic pictures and animations. <s> BIB003
In most cases, the procedural normal maps, used, for instance, in water shaders, are simply filtered with the methods of Section 6.1 to get an average normal, which is then used directly in the BRDF for final rendering. This is the case for instance of Hinsinger et al. BIB001 . This strategy removes aliasing but gives a wrong illumination, because the BRDF is not linear (see Section 3). In order to solve this problem, van Horn and Turk BIB002 propose an automatic method to convert a procedural shader, applied to a given object, into what they call reduction maps. These maps are ordinary textures, which can be MIP-mapped, containing at each point a compact description of the surface BRDF and a distribution of normals (represented with Olano's method  -see Section 3). These BRDFs and NDFs are computed with a stochastic sampling of the procedural shader, during a preprocessing pass. However, van Horn and Turk only use a normal distribution to decide if its average normal can be used directly for rendering (i.e., if the distribution is very narrow). If not, they resort to multiple sampling of the original procedural shader to filter it. Bruneton et al. BIB003 propose a specific solution for the ocean case. Their idea is to compute not only an average normal, but also an NDF, in order to compute the BRDF corresponding to the details filtered out from the procedural normal map. They model the ocean surface with an explicit sum of trochoids with well-defined frequencies. Then, they compute an antialiased average normal by clamping this sum to the frequencies smaller than the cutoff frequency of the low-pass filter, as in BIB001 . In addition, they use the clamped frequencies to compute the variance of the distribution of normals corresponding to these frequencies. They finally use this variance to control the size of the lobe of the BRDF model used for final rendering. In this way, no details are lost due to the filtering, and a correct lighting is obtained at the end.