“A system for rapid, automatic shader level-of-detail” by He, Foley, Tatarchuk and Fatahalian – ACM SIGGRAPH HISTORY ARCHIVES

“A system for rapid, automatic shader level-of-detail” by He, Foley, Tatarchuk and Fatahalian

  • 2015 SA Technical Papers_He_A System for Rapid, Automatic Shader Level-of-Detail

Conference:


Type(s):


Title:

    A system for rapid, automatic shader level-of-detail

Session/Category Title:   Illumination and Real-Time


Presenter(s)/Author(s):



Abstract:


    Level-of-detail (LOD) rendering is a key optimization used by modern video game engines to achieve high-quality rendering with fast performance. These LOD systems require simplified shaders, but generating simplified shaders remains largely a manual optimization task for game developers. Prior efforts to automate this process have taken hours to generate simplified shader candidates, making them impractical for use in modern shader authoring workflows for complex scenes. We present an end-to-end system for automatically generating a LOD policy for an input shader. The system operates on shaders used in both forward and deferred rendering pipelines, requires no additional semantic information beyond input shader source code, and in only seconds to minutes generates LOD policies (consisting of simplified shader, the desired LOD distance set, and transition generation) with performance and quality characteristics comparable to custom hand-authored solutions. Our design contributes new shader simplification transforms such as approximate common subexpression elimination and movement of GPU logic to parameter bind-time processing on the CPU, and it uses a greedy search algorithm that employs extensive caching and upfront collection of input shader statistics to rapidly identify simplified shaders with desirable performance-quality trade-offs.

References:


    1. Andersson, J., and Tatarchuk, N. 2007. Frostbite rendering architecture and real-time procedural shading and texturing techniques. In Game Developers Conference 2007 (GDC). Available at http://www.frostbite.com/2007/04/frostbite-rendering-architecture-and-real-time-procedural-shading-texturing-techniques.
    2. Ansel, J., Kamil, S., Veeramachaneni, K., Ragan-Kelley, J., Bosboom, J., O’Reilly, U.-M., and Amarasinghe, S. 2014. OpenTuner: an extensible framework for program autotuning. In International Conference on Parallel Architectures and Compilation Techniques, ACM, 303–316.
    3. Bungie, 2014. Destiny computer game. http://www.destinythegame.com.
    4. Chib, S., and Greenberg, E. 1995. Understanding the metropolis-hastings algorithm. The American Statistician 49, 4, 327–335.
    5. Epic Games, 2015. Unreal Engine 4 documentation. Available at http://docs.unrealengine.com.
    6. Epic Games, 2015. Unreal Engine 4 Marketplace Web Site. http://www.unrealengine.com/marketplace.
    7. Fatahalian, K. 2015. Tackling the level-of-detail problem through new shading languages and tools. In ACM SIGGRAPH 2015 Courses: Open Problems in Real-Time Rendering. Available at http://openproblems.realtimerendering.com.
    8. Foley, T., and Hanrahan, P. 2011. Spark: modular, composable shaders for graphics hardware. ACM Trans. Graph. 30, 4 (July), 107:1–107:12.
    9. Guenter, B., Knoblock, T. B., and Ruf, E. 1995. Specializing shaders. In Proceedings of SIGGRAPH 95, Annual Conference Series, ACM, 343–350.
    10. Hanrahan, P., and Lawson, J. 1990. A language for shading and lighting calculations. Computer Graphics 24, 4 (Sep), 289–298.
    11. He, Y., Gu, Y., and Fatahalian, K. 2014. Extending the graphics pipeline with adaptive, multi-rate shading. ACM Trans. Graph. 33, 4 (July), 142:1–142:12.
    12. Oat, C., Tatarchuk, N., and Isidoro, J. 2003. Layered car paint shader. In Shader X2 -Shader Tips & Tricks, W. F. Engel, Ed. Wordware Publishing.
    13. Olano, M., Kuehne, B., and Simmons, M. 2003. Automatic shader level of detail. In Proceedings of Graphics Hardware, ACM/Eurographics, 7–14.
    14. Pellacini, F. 2005. User-configurable automatic shader simplification. ACM Trans. Graph. 24, 3 (July), 445–452.
    15. Proudfoot, K., Mark, W. R., Tzvetkov, S., and Hanrahan, P. 2001. A real-time procedural shading system for programmable graphics hardware. In Proceedings of SIGGRAPH 01, Annual Conference Series, ACM, 159–170.
    16. Sampson, A., Baixo, A., Ransford, B., Moreau, T., Yip, J., Ceze, L., and Oskin, M. 2015. ACCEPT: a programmer-guided compiler framework for practical approximate computing. In University of Washington Technical Report UW-CSE-15-01-01. Available at ftp://ftp.cs.washington.edu/tr/2015/01/UW-CSE-15-01-01.pdf.
    17. Sitthi-Amorn, P., Modly, N., Weimer, W., and Lawrence, J. 2011. Genetic programming for shader simplification. ACM Trans. Graph. 30, 6 (Dec.), 152:1–152:12.
    18. Vaidyanathan, K., Salvi, M., Toth, R., Foley, T., Akenine-Möller, T., Nilsson, J., Munkberg, J., Hasselgren, J., Sugihara, M., Clarberg, P., Janczak, T., and Lefohn, A. E. 2014. Coarse pixel shading. In Proceedings of the Conference on High Performance Graphics, ACM/Eurographics, 9–18.
    19. Walter, B., Marschner, S. R., Li, H., and Torrance, K. E. 2007. Microfacet models for refraction through rough surfaces. In Proceedings of the Eurographics Conference on Rendering Techniques, Eurographics Association, 195–206.
    20. Wang, R., Yang, X., Yuan, Y., Chen, W., Bala, K., and Bao, H. 2014. Automatic shader simplification using surface signal approximation. ACM Trans. Graph. 33, 6 (Nov.), 226:1–226:11.


ACM Digital Library Publication:



Overview Page:



Submit a story:

If you would like to submit a story about this presentation, please contact us: historyarchives@siggraph.org