A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Global Fading <s> From the Publisher: ::: This the classic text/tutorial/reference introducing and defining the procedural approach to texturing and modeling and computer graphics in general. This Second Edition is completely revised and updated to the current computer graphics marketplace. It contains a toolbox of procedures upon which programmers can build a library of textures and objects, and includes extensive explanations of how these functions work and how to design new functions. New chapters include: Cellular Texture Generation, Volumetric Cloud Modeling with Implicit Functions, Interacting with Virtual Actors, and Rendering with Adaptive Level of Detail. <s> BIB001 </s> A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Global Fading <s> Current graphics hardware can render procedurally shaded objects in real-time. However, due to resource and performance limitations, interactive shaders can not yet approach the complexity of shaders written for film production and software rendering, which may stretch to thousands of lines. These constraints limit not only the complexity of a single shader, but also the number of shaded objects that can be rendered at interactive rates. This problem has many similarities to the rendering of large models, the source of extensive research in geometric simplification and level of detail. We introduce an analogous process for shading : shader simplification. Starting from an initial detailed shader, shader simplification automatically produces a set of simplified shaders or a single new shader with extra level-of-detail parameters that control the shader execution. The resulting level-of-detail shader can automatically adjust its rendered appearance based on measures of distance, size, or importance, as well as physical limits such as rendering time budget or texture usage. We demonstrate shader simplification with a system that automatically creates shader levels of detail to reduce the number of texture accesses, one common limiting factor for current hardware. <s> BIB002 </s> A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading <s> Global Fading <s> Programmable shading is a fundamental technique for specifying appearance in 3d environments. While shading architectures provides fast execution of shaders, shader evaluation is today a major cost in the rendering process. In the same manner in which geometric simplification lets us deal with large models, it would be beneficial to have an automatic technique that trades off shader quality for speed.This paper presents such a technique by introducing a framework for the automatic simplification of complex procedural shaders, where a sequence of increasingly simplified shaders is generated starting from an original shader together with ranges for all of its input parameters. Our approach works by applying simplification rules to the code of a shader to generate a series of candidates, whose differences from the original one are measured and used to select the candidate with the smallest error. This procedure is repeated until the last shader is a constant. While this automatic procedure generates high quality simplified shaders, the artist might want to emphasize particular aspects of a shader during simplification. Our framework supports this desire by allowing the user to specify additional rules to be considered during simplification. The term user-configurable simplification comes from this feature of our system.We implemented our algorithm to support the simplification of fragment shaders running on graphics hardware. Our results show that automatic simplification of complex procedural shaders is possible with high quality. <s> BIB003
This method progressively blends the procedural color with a constant color equal to its average  , BIB001 . The blending starts when the size of the low-pass filterŵ becomes larger than the smallest features of the procedural texture (i.e., when the apparent size of these features becomes smaller than a pixel). This method can be used either on the output of the whole shader, or only on some parts (a function, a subexpression in a function, etc.). However, this method is not very accurate nor very effective: it attenuates all the frequencies at once, instead of filtering only the frequencies above the filter's cutoff frequency. On the other hand, this method can be automated thanks to its simplicity BIB002 , BIB003 .