Filtering color mapped textures and surfaces

Color map textures applied directly to surfaces, to geometric microsurface details, or to procedural functions (such as noise), are commonly used to enhance visual detail. Their simplicity and ability to mimic a wide range of realistic appearances have led to their adoption in many rendering problems. As with any textured or geometric detail, proper filtering is needed to reduce aliasing when viewed across a range of distances, but accurate and efficient color map filtering remains an open problem for several reasons: color maps are complex non-linear functions, especially when mapped through procedural noise and/or geometry-dependent functions, and the effects of perspective and masking further complicate the filtering over a pixel's footprint. We accurately solve this problem by computing and sampling from specialized filtering distributions on-the-fly, yielding very fast performance. We filter color map textures applied to (macro-scale) surfaces, as well as color maps applied according to (micro-scale) geometric details. We introduce a novel representation of a (potentially modulated) color map's distribution over pixel footprints using Gaussian statistics and, in the more complex case of high-resolution color mapped microsurface details, our filtering is view- and light-dependent, and capable of correctly handling masking and occlusion effects. Our results match ground truth and our solution is well suited to real-time applications, requires only a few lines of shader code (provided in supplemental material), is high performance, and has a negligible memory footprint.

[1]  John C. Hart,et al.  Antialiased parameterized solid texturing simplified for consumer-level hardware implementation , 1999, Workshop on Graphics Hardware.

[2]  Fabio Pellacini User-configurable automatic shader simplification , 2005, SIGGRAPH 2005.

[3]  David S. Ebert,et al.  Texturing and Modeling: A Procedural Approach , 1994 .

[4]  Daniel Weiskopf,et al.  A Spectral Analysis of Function Composition and its Implications for Sampling in Direct Volume Visualization , 2006, IEEE Transactions on Visualization and Computer Graphics.

[5]  Holly E. Rushmeier,et al.  Eurographics Symposium on Rendering 2009 Characteristic Point Maps , 2022 .

[6]  Hans-Peter Seidel,et al.  Sampling procedural shaders using affine arithmetic , 1997, SIGGRAPH '97.

[7]  Christophe Bourlier,et al.  Effect of correlation between shadowing and shadowed points on the Wagner and Smith monostatic one-dimensional shadowing functions , 2000 .

[8]  Ken Perlin,et al.  An image synthesizer , 1988 .

[9]  Fabrice Neyret,et al.  A Survey of Nonlinear Prefiltering Methods for Efficient and Accurate Surface Shading , 2012, IEEE Transactions on Visualization and Computer Graphics.

[10]  F. Kenton Musgrave 15 – Fractal solid textures: Some examples , 2003 .

[11]  Ares Lagae,et al.  Procedural noise using sparse Gabor convolution , 2009, SIGGRAPH 2009.

[12]  Jens H. Krüger,et al.  Sparse PDF maps for non-linear multi-resolution image operations , 2012, ACM Trans. Graph..

[13]  Ulrich Neumann,et al.  Real-time procedural textures , 1992, I3D '92.

[14]  F. Kenton Musgrave Fractal Solid Textures: Some Examples , 1994 .

[15]  Ares Lagae,et al.  Procedural noise using sparse Gabor convolution , 2009, SIGGRAPH '09.

[16]  Holly E. Rushmeier,et al.  Physically-based interactive bi-scale material design , 2011, ACM Trans. Graph..

[17]  Pat Hanrahan,et al.  An efficient representation for irradiance environment maps , 2001, SIGGRAPH.

[18]  Fabrice Neyret,et al.  Representing appearance and pre-filtering subpixel data in sparse voxel octrees , 2012, EGGH-HPG'12.

[19]  Jan Kautz,et al.  Precomputed radiance transfer for real-time rendering in dynamic, low-frequency lighting environments , 2002 .

[20]  Lance Williams,et al.  Pyramidal parametrics , 1983, SIGGRAPH.

[21]  Hans-Peter Seidel,et al.  Sampling procedural shaders using affine arithmetic , 1998, TOGS.

[22]  Darwyn R. Peachey,et al.  Solid texturing of complex surfaces , 1985, SIGGRAPH.

[23]  Lance Williams Pyramidal parametrics , 1998 .

[24]  Fabio Pellacini,et al.  User-configurable automatic shader simplification , 2005, ACM Trans. Graph..

[25]  Pat Hanrahan,et al.  Triple product wavelet integrals for all-frequency relighting , 2004, ACM Trans. Graph..

[26]  Ares Lagae,et al.  A Survey of Procedural Noise Functions , 2010, Comput. Graph. Forum.

[27]  Marc Olano,et al.  Automatic shader level of detail , 2003, HWWS '03.