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 Scholar
- J. F. Blinn. 1977. Models of light reflection for computer synthesized pictures. Computer Graphics (Proceedings of ACM SIGGRAPH 77) 11, 2, 192--198. Google Scholar
- 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 Scholar
- R. L. Cook. 1984. Shade trees. Computer Graphics (Proceedings of ACM SIGGRAPH 84) 18, 3, 223--231. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- S. J. Gortler, R. Grzeszczuk, R. Szeliski, and M. F. Cohen. 1996. The lumigraph. In Proceedings of ACM SIGGRAPH 96, 43--54. Google Scholar
- B. Guenter, T. B. Knoblock, and E. Ruf. 1995. Specializing shaders. In Proceedings of ACM SIGGRAPH 95, 343--350. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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
Automated reprojection-based pixel shader optimization
SIGGRAPH Asia '08: ACM SIGGRAPH Asia 2008 papersWe 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, ...
Image-based bidirectional scene reprojection
We 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 ...
Comments