Filtering color mapped textures and surfaces

  • Authors:
  • Eric Heitz;Derek Nowrouzezahrai;Pierre Poulin;Fabrice Neyret

  • Affiliations:
  • INRIA-LJK (Université de Grenoble and CNRS) and LIGUM, Université de Montréal;LIGUM, Université de Montréal;LIGUM, Université de Montréal;INRIA-LJK (Université de Grenoble and CNRS)

  • Venue:
  • Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.