Sampling procedural shaders using affine arithmetic

Procedural shaders have become popular tools for describing surface reflectance functions and other material properties. In comparison to fixed resolution textures, they have the advantage of being resolution-independent and storage-efficient. While procedural shaders provide an interface for evaluating the shader at a single point, it is not easily possible to obtain an average value of the shader together with accurate error bounds over a finite area. Yet the ability to compute such error bounds is crucial for several interesting applications, most notably heirarchical area sampling for global illumination, using the finite element approach, and for generation of textures used in interactive computer graphics. Using affine arithmetic for evaluating the shader over a finite area yields a tight, conservative error interval for the shader function. Compilers can automatically generate code for utilizing affine arithmetic from within shaders implemented in a dedicated language such as the RenderMann shading language.

[1]  Louis B. Rall,et al.  Automatic Differentiation: Techniques and Applications , 1981, Lecture Notes in Computer Science.

[2]  Pat Hanrahan,et al.  A language for shading and lighting calculations , 1990, SIGGRAPH.

[3]  J. P. Lewis,et al.  Algorithms for solid noise synthesis , 1989, SIGGRAPH.

[4]  Luiz Henrique de Figueiredo,et al.  Surface Intersection Using Affine Arithmetic , 1996, Graphics Interface.

[5]  Michael Kass,et al.  Error-bounded antialiased rendering of complex environments , 1994, SIGGRAPH.

[6]  Louis B. Rall,et al.  Automatic differentiation , 1981 .

[7]  John G. Eyles,et al.  PixelFlow: high-speed rendering using image composition , 1992, SIGGRAPH.

[8]  Hans-Peter Seidel,et al.  Bounded Radiosity – Illumination on General Surfaces and Clusters , 1997, Comput. Graph. Forum.

[9]  G. Ward A RECURSIVE IMPLEMENTATION OF THE PERLIN NOISE FUNCTION , 1991 .

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

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

[12]  Michael Kass,et al.  CONDOR: constraint-based dataflow , 1992, SIGGRAPH.

[13]  John M. Snyder,et al.  Generative Modeling for Computer Graphics and Cad: Symbolic Shape Design Using Interval Analysis , 1992 .

[14]  P. Hanrahan,et al.  A Rapid Hierarchical Radiosity Algorithm for Unoccluded Environments , 1992 .

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

[16]  Hans-Peter Seidel,et al.  Vision - An Architecture for Global Illumination Calculations , 1995, IEEE Trans. Vis. Comput. Graph..

[17]  Hans-Peter Seidel,et al.  Using Procedural Renderman Shaders for Global Illumination , 1995 .

[18]  John M. Snyder,et al.  Interval analysis for computer graphics , 1992, SIGGRAPH.

[19]  Dani Lischinski,et al.  Bounds and error estimates for radiosity , 1994, SIGGRAPH.

[20]  J. Stolfi,et al.  Aane Arithmetic and Its Applications to Computer Graphics , 1990 .

[21]  Alyn P. Rockwood,et al.  Clamping: A method of antialiasing textured surfaces by bandwidth limiting in object space , 1982, SIGGRAPH.

[22]  Hans-Peter Seidel,et al.  Implementing RenderMan ‐ Practice, Problems and Enhancements , 1994, Comput. Graph. Forum.

[23]  Michael F. Cohen,et al.  Radiosity and realistic image synthesis , 1993 .

[24]  F. Kenton Musgrave,et al.  The synthesis and rendering of eroded fractal terrains , 1989, SIGGRAPH.

[25]  E. Cheney Introduction to approximation theory , 1966 .

[26]  Jorge Stolfi,et al.  Adaptive Enumeration of Implicit Surfaces with Affine Arithmetic , 1996, Comput. Graph. Forum.

[27]  Erik Ruf,et al.  Specializing shaders , 1995, SIGGRAPH.