“Automated reprojection-based pixel shader optimization”
Conference:
Type(s):
Title:
- Automated reprojection-based pixel shader optimization
Session/Category Title: Lighting, shading & GPUs
Presenter(s)/Author(s):
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.
References:
1. 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
2. Advanced Micro Devices, 2006. ATI toyshop demo.Google Scholar
3. A. V. Aho, M. S. Lam, R. Sethi, and J. D. Ullman. 2006. Compilers: Principles, Techniques, and Tools (2nd Edition). Google ScholarDigital Library
4. D. Aliaga and A. Lastra. 1998. Smooth transitions in texture-based simplification. In Computers & Graphics, 22, 71–81.Google Scholar
5. S. Badt. 1988. Two algorithms for taking advantage of temporal coherence in ray tracing. The Visual Computer 4, 3, 123–132.Google ScholarCross Ref
6. 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
7. 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
8. 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
9. M. Bunnell. Dynamic ambient occlusion and indirect lighting. In M. Pharr, Ed., GPU Gems 2, 223–233. Addison-Wesley.Google Scholar
10. S. E. Chen and L. Williams. 1993. View interpolation for image synthesis. Computer Graphics (Proceedings of ACM SIGGRAPH 93), 279–288. Google Scholar
11. R. L. Cook. 1984. Shade trees. Computer Graphics (Proceedings of ACM SIGGRAPH 84) 18, 3, 223–231. Google Scholar
12. 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
13. 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
14. 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
15. 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
16. 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
17. S. J. Gortler, R. Grzeszczuk, R. Szeliski, and M. F. Cohen. 1996. The lumigraph. In Proceedings of ACM SIGGRAPH 96, 43–54. Google Scholar
18. B. Guenter, T. B. Knoblock, and E. Ruf. 1995. Specializing shaders. In Proceedings of ACM SIGGRAPH 95, 343–350. Google Scholar
19. 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
20. 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
21. J. Hoberock and Y. Jia. High-quality ambient occlusion. In H. Nguyen, Ed., GPU Gems 3, 257–274. Addison-Wesley.Google Scholar
22. 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
23. T. B. Knoblock and E. Ruf. 1996. Data specialization. In Proceedings of SIGPLAN, ACM, New York, NY, USA, 31, 215–225. Google Scholar
24. 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
25. M. Levoy and P. Hanrahan. 1996. Light field rendering. In Proceedings of ACM SIGGRAPH 96, 31–42. Google Scholar
26. 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
27. 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
28. 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
29. 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
30. 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
31. J. A. Nelder and R. Mead. 1965. A simplex method for function minimization. Computer Journal 7, 4, 308–313.Google ScholarCross Ref
32. NVIDIA Corporation, 2007. NVIDIA CUDA Compute Unified Device Architecture programming guide.Google Scholar
33. 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
34. F. Pellacini. 2005. User-configurable automatic shader simplification. ACM Transacations on Graphics 24, 3, 445–452. Google ScholarDigital Library
35. K. Perlin. 1985. An image synthesizer. Computer Graphics (Proceedings of ACM SIGGRAPH 85) 19, 3, 287–296. Google Scholar
36. 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
37. 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
38. 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
39. 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
40. 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
41. 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
42. 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
43. 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
44. 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
45. 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
46. 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
47. 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
48. 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
49. 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
50. T. Zhu, R. Wang, and D. Luebke. October, 2005. A GPU accelerated render cache. In Pacific Graphics, (Short Paper Session).Google Scholar

