Automated reprojection-based pixel shader optimization

We present a framework and supporting algorithms to automate the use of temporal data reprojection as a general tool for optimizing procedural shaders. Although the general strategy of caching and reusing expensive intermediate shading calculations across consecutive frames has previously been shown to provide an effective trade-off between speed and accuracy, the critical choices of what to reuse and at what rate to refresh cached entries have been left to a designer. The fact that these decisions require a deep understanding of a procedure's semantic structure makes it challenging to select optimal candidates among possibly hundreds of alternatives. Our automated approach relies on parametric models of the way possible caching decisions affect the shader's performance and visual fidelity. These models are trained using a sample rendering session and drive an interactive profiler in which the user can explore the error/performance trade-offs associated with incorporating temporal reprojection. We evaluate the proposed models and selection algorithm with a prototype system used to optimize several complex shaders and compare our approach to current alternatives.

[1]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools (2nd Edition) , 2006 .

[2]  Sig Badt,et al.  Two algorithms for taking advantage of temporal coherence in ray tracing , 1988, The Visual Computer.

[3]  James F. Blinn,et al.  Models of light reflection for computer synthesized pictures , 1977, SIGGRAPH.

[4]  Michael Wimmer,et al.  Pixel-Correct Shadow Maps with Temporal Reprojection and Shadow Test Confidence , 2007, Rendering Techniques.

[5]  Anselmo Lastra,et al.  Smooth transitions in texture-based simplification , 1998, Comput. Graph..

[6]  Richard Szeliski,et al.  The lumigraph , 1996, SIGGRAPH.

[7]  Maryann Simmons,et al.  The holodeck ray cache: an interactive rendering system for global illumination in nondiffuse environments , 1999, TOGS.

[8]  T. Jones,et al.  Shadermaps : A Method For Accelerating Procedural Shading , 2000 .

[9]  Carlo H. Séquin,et al.  Tapestry: A Dynamic Mesh-based Display Representation for Interactive Rendering , 2000, Rendering Techniques.

[10]  Erik Ruf,et al.  Data specialization , 1996, PLDI '96.

[11]  Tomas Akenine-Möller,et al.  An efficient multi-view rasterization architecture , 2006, EGSR '06.

[12]  Wolfgang Stuerzlinger,et al.  A Three Dimensional Image Cache for Virtual Reality , 1996, Comput. Graph. Forum.

[13]  David Salesin,et al.  Hierarchical image caching for accelerated walkthroughs of complex environments , 1996, SIGGRAPH.

[14]  Benjamin Watson,et al.  Adaptive frameless rendering , 2005, EGSR '05.

[15]  Hans-Peter Seidel,et al.  Exploiting temporal coherence in final gathering for dynamic scenes , 2004, Proceedings Computer Graphics International, 2004..

[16]  Seth J. Teller,et al.  Radiance interpolants for accelerated bounded-error ray tracing , 1999, TOGS.

[17]  John S. Montrym,et al.  InfiniteReality: a real-time graphics system , 1997, SIGGRAPH.

[18]  Pascal Gautron Temporal radiance caching , 2008, SIGGRAPH '08.

[19]  Robert L. Cook,et al.  The Reyes image rendering architecture , 1987, SIGGRAPH.

[20]  Gavin S. P. Miller,et al.  On-the-Fly Texture Computation for Real-Time Surface Shading , 1998, IEEE Computer Graphics and Applications.

[21]  Frédo Durand,et al.  The lightspeed automatic interactive lighting preview system , 2007, SIGGRAPH 2007.

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

[23]  Lance Williams,et al.  View Interpolation for Image Synthesis , 1993, SIGGRAPH.

[24]  John Hart,et al.  ACM Transactions on Graphics , 2004, SIGGRAPH 2004.

[25]  Jason Lawrence,et al.  An improved shading cache for modern GPUs , 2008, GH '08.

[26]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[27]  Frédo Durand,et al.  Billboard clouds for extreme model simplification , 2003, ACM Trans. Graph..

[28]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[29]  Jay Torborg,et al.  Talisman: commodity realtime 3D graphics for the PC , 1996, SIGGRAPH.

[30]  Lei Yang,et al.  Geometry‐Aware Framebuffer Level of Detail , 2008, Comput. Graph. Forum.

[31]  John A. Nelder,et al.  A Simplex Method for Function Minimization , 1965, Comput. J..

[32]  Robert L. Cook,et al.  Shade trees , 1984, SIGGRAPH.

[33]  George Drettakis,et al.  Interactive Rendering using the Render Cache , 1999, Rendering Techniques.

[34]  Leonard McMillan,et al.  Post-rendering 3D warping , 1997, SI3D.

[35]  Ronald Pose,et al.  Priority rendering with a virtual reality address recalculation pipeline , 1994, SIGGRAPH.

[36]  Marc Levoy,et al.  Light field rendering , 1996, SIGGRAPH.

[37]  Larry F. Hodges,et al.  Generating exact ray-traced animation frames by reprojection , 1995, IEEE Computer Graphics and Applications.

[38]  Pedro V. Sander,et al.  Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control , 2005 .

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

[40]  Henry Fuchs,et al.  Frameless rendering: double buffering considered harmful , 1994, SIGGRAPH.

[41]  Hans-Peter Seidel,et al.  Walkthroughs with Corrective Texturing , 2000, Rendering Techniques.

[42]  Ken Perlin,et al.  [Computer Graphics]: Three-Dimensional Graphics and Realism , 2022 .

[43]  Jason Lawrence,et al.  Accelerating real-time shading with reverse reprojection caching , 2007, GH '07.

[44]  Peter Shirley,et al.  Visual navigation of large environments using textured clusters , 1995, I3D '95.

[45]  Hans-Peter Seidel,et al.  An efficient spatio-temporal architecture for animation rendering , 2003, SIGGRAPH '03.

[46]  Donald P. Greenberg,et al.  Interactive global illumination in dynamic scenes , 2002, SIGGRAPH.

[47]  Sumanta N. Pattanaik,et al.  Radiance cache splatting: a GPU-friendly global illumination algorithm , 2005, EGSR '05.

[48]  Michael Todd Bunnell,et al.  Dynamic Ambient Occlusion and Indirect Lighting , 2005 .

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