ABSTRACT
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.
Supplemental Material
- S. J. Adelson and L. F. Hodges. 1995. Generating exact ray-traced animation frames by reprojection. IEEE Computer Graphics and Applications 15, 3, 43--52. Google ScholarDigital Library
- Advanced Micro Devices, 2006. ATI toyshop demo.Google Scholar
- A. V. Aho, M. S. Lam, R. Sethi, and J. D. Ullman. 2006. Compilers: Principles, Techniques, and Tools (2nd Edition). Google ScholarDigital Library
- D. Aliaga and A. Lastra. 1998. Smooth transitions in texture-based simplification. In Computers & Graphics, 22, 71--81.Google Scholar
- S. Badt. 1988. Two algorithms for taking advantage of temporal coherence in ray tracing. The Visual Computer 4, 3, 123--132.Google ScholarCross Ref
- K. Bala, J. Dorsey, and S. Teller. 1999. Radiance inter-polants for accelerated bounded-error ray tracing. ACM Transactions on Graphics 18, 3, 213--256. Google ScholarDigital Library
- G. Bishop, H. Fuchs, L. McMillan, and E. J. S. Zagier. 1994. Frameless rendering: double buffering considered harmful. In Proceedings of ACM SIGGRAPH' 94, ACM, New York, NY, USA, 175--176. Google ScholarDigital Library
- J. F. Blinn. 1977. Models of light reflection for computer synthesized pictures. Computer Graphics (Proceedings of ACM SIGGRAPH 77) 11, 2, 192--198. Google ScholarDigital Library
- M. Bunnell. Dynamic ambient occlusion and indirect lighting. In M. Pharr, Ed., GPU Gems 2, 223--233. Addison-Wesley.Google Scholar
- S. E. Chen and L. Williams. 1993. View interpolation for image synthesis. Computer Graphics (Proceedings of ACM SIGGRAPH 93), 279--288. Google ScholarDigital Library
- R. L. Cook. 1984. Shade trees. Computer Graphics (Proceedings of ACM SIGGRAPH 84) 18, 3, 223--231. Google ScholarDigital Library
- R. L. Cook, L. Carpenter, and E. Catmull. 1987. The REYES image rendering architecture. Computer Graphics (Proceedings of ACM SIGGRAPH 87) 21, 4, 95--102. Google ScholarDigital Library
- A. Dayal, C. Woolley, B. Watson, and D. Luebke. 2005. Adaptive frameless rendering. In Proceedings of the Eurographics Symposium on Rendering (EGSR), 265--275. Google ScholarDigital Library
- X. Décoret, F. Durand, F. Sillion, and J. Dorsey. 2003. Billboard clouds for extreme model simplification. ACM Transactions on Graphics (Proc. SIGGRAPH) 22, 3, 689--696. Google ScholarDigital Library
- P. Gautron, K. Bouatouch, and S. Pattanaik. 2007. Temporal radiance caching. IEEE Transactions on Visualization and Computer Graphics 13, 5, 891--901. Google ScholarDigital Library
- P. Gautron, J. Křivánek, K. Bouatouch, and S. Pattanaik. 2005. Radiance cache splatting: A GPU-friendly global illumination algorithm. In Proceedings of the Eurographics Symposium on Rendering (EGSR), 55--64. Google ScholarDigital Library
- S. J. Gortler, R. Grzeszczuk, R. Szeliski, and M. F. Cohen. 1996. The lumigraph. In Proceedings of ACM SIGGRAPH 96, 43--54. Google ScholarDigital Library
- B. Guenter, T. B. Knoblock, and E. Ruf. 1995. Specializing shaders. In Proceedings of ACM SIGGRAPH 95, 343--350. Google ScholarDigital Library
- J. Hasselgren and T. Akenine-Moller. 2006. An efficient multi-view rasterization architecture. In Proceedings of the Eurographics Symposium on Rendering (EGSR), 61--72. Google ScholarDigital Library
- V. Havran, C. Damez, K. Myszkowski, and H.-P. Seidel. 2003. An efficient spatio-temporal architecture for animation rendering. In Rendering Techniques, 106--117. Google ScholarDigital Library
- J. Hoberock and Y. Jia. High-quality ambient occlusion. In H. Nguyen, Ed., GPU Gems 3, 257--274. Addison-Wesley.Google Scholar
- T. R. Jones, R. N. Perry, and M. Callahan. 2000. Shadermaps: A method for accelerating procedural shading. Technical report, Mitsubishi Electric Research Laboratories.Google Scholar
- T. B. Knoblock and E. Ruf. 1996. Data specialization. In Proceedings of SIGPLAN, ACM, New York, NY, USA, 31, 215--225. Google ScholarDigital Library
- G. W. Larson and M. Simmons. 1999. The holodeck ray cache: an interactive rendering system for global illumination in nondiffuse environments. ACM Transactions on Graphics 18, 4, 361--368. Google ScholarDigital Library
- M. Levoy and P. Hanrahan. 1996. Light field rendering. In Proceedings of ACM SIGGRAPH 96, 31--42. Google ScholarDigital Library
- P. Maciel and P. Shirley. 1995. Visual navigation of large environments using textured clusters. In Proceedings of the Symposium on Interactive 3D Graphics, 95--ff. Google ScholarDigital Library
- W. R. Mark, L. McMillan, and G. Bishop. 1997. Post-rendering 3D warping. In Proceedings of the Symposium on Interactive 3D Graphics, 7--ff. Google ScholarDigital Library
- G. Miller, M. Halstead, and M. Clifton. 1998. On-the-fly texture computation for real-time surface shading. IEEE Computer Graphics and Applications 18, 2, 44--58. Google ScholarDigital Library
- J. S. Montrym, D. R. Baum, D. L. Dignam, and C. J. Migdal. 1997. InfiniteReality: A real-time graphics system. In Proceedings of ACM SIGGRAPH 97, ACM, 293--302. Google ScholarDigital Library
- D. Nehab, P. V. Sander, J. Lawrence, N. Tatarchuk, and J. R. Isidoro. 2007. Accelerating real-time shading with reverse reprojection caching. In Graphics Hardware, 25--35. Google ScholarDigital Library
- J. A. Nelder and R. Mead. 1965. A simplex method for function minimization. Computer Journal 7, 4, 308--313.Google ScholarCross Ref
- NVIDIA Corporation, 2007. NVIDIA CUDA Compute Unified Device Architecture programming guide.Google Scholar
- M. Olano, B. Kuehne, and M. Simmons. 2003. Automatic shader level of detail. In HWWS '03: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, Eurographics Association, 7--14. Google ScholarDigital Library
- F. Pellacini. 2005. User-configurable automatic shader simplification. ACM Transacations on Graphics 24, 3, 445--452. Google ScholarDigital Library
- K. Perlin. 1985. An image synthesizer. Computer Graphics (Proceedings of ACM SIGGRAPH 85) 19, 3, 287--296. Google ScholarDigital Library
- J. Ragan-Kelley, C. Kilpatrick, B. W. Smith, D. Epps, P. Green, C. Hery, and F. Durand. 2007. The lightspeed automatic interactive lighting preview system. ACM Transacations on Graphics 26, 3, 25--36. Google ScholarDigital Library
- M. Regan and R. Pose. 1994. Priority rendering with a virtual reality address recalculation pipeline. In Computer Graphics (Proceedings of ACM SIGGRAPH 94), 155--162. Google ScholarDigital Library
- G. Schaufler and W. Stürzlinger. 1996. A three dimensional image cache for virtual reality. Computer Graphics Forum (Proc. of EUROGRAPHICS) 15, 3, 227--236.Google ScholarCross Ref
- D. Scherzer, S. Jeschke, and M. Wimmer. 2007. Pixel-correct shadow maps with temporal reprojection and shadow test confidence. In Proceedings of the Eurographics Symposium on Rendering (EGSR), 45--50. Google ScholarDigital Library
- J. Shade, D. Lischinski, D. H. Salesin, T. DeRose, and J. Snyder. 1996. Hierarchical image caching for accelerated walkthroughs of complex environments. In Proceedings of ACM SIGGRAPH, ACM, New York, NY, USA, 75--82. Google ScholarDigital Library
- M. Simmons and C. H. Séquin. 2000. Tapestry: dynamic mesh-based display representation for interactive rendering. In Eurographics Workshop on Rendering, Springer-Verlag, London, UK, 329--340. Google ScholarDigital Library
- P. Sitthi-amorn, J. Lawrence, L. Yang, P. V. Sander, and D. Nehab. 2008. An improved shading cache for modern gpus. In Graphics Hardware, 95--101. Google ScholarDigital Library
- M. Stamminger, J. Haber, H. Schirmacher, and H.-P. Seidel. 2000. Walkthroughs with corrective texturing. In Rendering Techniques, Springer-Verlag, London, UK, 377--388. Google ScholarDigital Library
- T. Tawara, K. Myszkowski, and H.-P. Seidel. 2004. Exploiting temporal coherence in final gathering for dynamic scenes. In Proceedings of the Computer Graphics International (CGI), IEEE Computer Society, Washington, DC, USA, 110--119. Google ScholarDigital Library
- P. Tole, F. Pellacini, B. Walter, and D. P. Greenberg. 2002. Interactive global illumination in dynamic scenes. ACM Transactions on Graphics 21, 3, 537--546. Google ScholarDigital Library
- J. Torborg and J. T. Kajiya. 1996. Talisman: commodity realtime 3d graphics for the PC. In Proceedings of ACM SIGGRAPH 96, 353--363. Google ScholarDigital Library
- B. Walter, G. Drettakis, and S. Parker. 1999. Interactive rendering using the render cache. In Rendering Techniques, Springer-Verlag/Wien, New York, NY, D. Lischinski and G. Larson, Eds., 10, 235--246. Google ScholarDigital Library
- C. Woolley, D. Luebke, B. Watson, and A. Dayal. 2003. Interruptible rendering. In Proceedings of the Symposium on Interactive 3D Graphics, ACM, New York, NY, USA, 143--151. Google ScholarDigital Library
- L. Yang, P. V. Sander, and J. Lawrence. 2008. Geometry-aware framebuffer level of detail. Computer Graphics Forum (Proceedings of Eurographics Symposium on Rendering (EGSR)) 27, 4, 1183--1188. Google ScholarDigital Library
- T. Zhu, R. Wang, and D. Luebke. October, 2005. A GPU accelerated render cache. In Pacific Graphics, (Short Paper Session).Google Scholar
Index Terms
- Automated reprojection-based pixel shader optimization
Recommendations
Image-based bidirectional scene reprojection
SA '11: Proceedings of the 2011 SIGGRAPH Asia ConferenceWe introduce a method for increasing the framerate of real-time rendering applications. Whereas many existing temporal upsampling strategies only reuse information from previous frames, our bidirectional technique reconstructs intermediate frames from a ...
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 ...
Automatic shader level of detail
HWWS '03: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardwareCurrent 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, ...
Comments