“AMFS: adaptive multi-frequency shading for future graphics processors” by Clarberg, Toth, Hasselgren, Nilsson and Akenine-Moller

  • ©Petrik Clarberg, Robert Toth, Jon Hasselgren, Jim Nilsson, and Tomas Akenine-Moller



Session Title:

    Hardware Systems


    AMFS: adaptive multi-frequency shading for future graphics processors




    We propose a powerful hardware architecture for pixel shading, which enables flexible control of shading rates and automatic shading reuse between triangles in tessellated primitives. The main goal is efficient pixel shading for moderately to finely tessellated geometry, which is not handled well by current GPUs. Our method effectively decouples the cost of pixel shading from the geometric complexity. It thereby enables a wider use of tessellation and fine geometry, even at very limited power budgets. The core idea is to shade over small local grids in parametric patch space, and reuse shading for nearby samples. We also support the decomposition of shaders into multiple parts, which are shaded at different frequencies. Shading rates can be locally and adaptively controlled, in order to direct the computations to visually important areas and to provide performance scaling with a graceful degradation of quality. Another important benefit of shading in patch space is that it allows efficient rendering of distribution effects, which further closes the gap between real-time and offline rendering.


    1. Akeley, K. 1993. RealityEngine Graphics. In Proceedings of SIGGRAPH 93, ACM, 109–116. Google ScholarDigital Library
    2. Akenine-Möller, T., Munkberg, J., and Hasselgren, J. 2007. Stochastic Rasterization using Time-Continuous Triangles. In Graphics Hardware, 7–16. Google ScholarDigital Library
    3. Burley, B., and Lacewell, D. 2008. Ptex: Per-Face Texture Mapping for Production Rendering. In Eurographics Symposium on Rendering, 1155–1164. Google ScholarDigital Library
    4. Burns, C. A., Fatahalian, K., and Mark, W. R. 2010. A Lazy Object-Space Shading Architecture with Decoupled Sampling. In High Performance Graphics, 19–28. Google ScholarDigital Library
    5. Catmull, E., and Clark, J. 1978. Recursively Generated B-Spline Surfaces on Arbitrary Topological Meshes. Computer-Aided Design, 10, 6, 350–355.Google ScholarCross Ref
    6. Clarberg, P., Toth, R., and Munkberg, J. 2013. A Sort-Based Deferred Shading Architecture for Decoupled Sampling. ACM Transactions on Graphics, 32, 4, 141:1–141:10. Google ScholarDigital Library
    7. Cook, R. L., Carpenter, L., and Catmull, E. 1987. The Reyes Image Rendering Architecture. In Computer Graphics (Proceedings of SIGGRAPH 87), ACM, vol. 21, 95–102. Google ScholarDigital Library
    8. Doggett, M. 2012. Texture Caches. IEEE Micro, 32, 3, 136–141. Google ScholarDigital Library
    9. Fatahalian, K., Boulos, S., Hegarty, J., Akeley, K., Mark, W. R., Moreton, H., and Hanrahan, P. 2010. Reducing Shading on GPUs using Quad-Fragment Merging. ACM Transactions on Graphics, 29, 4, 67:1–67:8. Google ScholarDigital Library
    10. Gribel, C. J., Barringer, R., and Akenine-Möller, T. 2011. High-Quality Spatio-Temporal Rendering using Semi-Analytical Visibility. ACM Transactions on Graphics, 30, 4, 54:1–54:12. Google ScholarDigital Library
    11. Gu, X., Gortler, S. J., and Hoppe, H. 2002. Geometry Images. In Proceedings of SIGGRAPH 2002, ACM, 355–361. Google ScholarDigital Library
    12. Guenter, B., Finch, M., Drucker, S., Tan, D., and Snyder, J. 2012. Foveated 3D Graphics. ACM Transactions on Graphics, 31, 6, 164:1–164:10. Google ScholarDigital Library
    13. Hasselgren, J., and Akenine-Möller, T. 2007. PCU: The Programmable Culling Unit. ACM Transactions on Graphics, 26, 3, 92:1–92:10. Google ScholarDigital Library
    14. Heckbert, P. S., and Moreton, H. P. 1991. Interpolation for Polygon Texture Mapping and Shading. In State of the Art in Computer Graphics: Visualization and Modeling, 101–111.Google Scholar
    15. Liktor, G., and Dachsbacher, C. 2012. Decoupled Deferred Shading for Hardware Rasterization. In Symposium on Interactive 3D Graphics and Games, 143–150. Google ScholarDigital Library
    16. McGuire, M., Enderton, E., Shirley, P., and Luebke, D. 2010. Real-Time Stochastic Rasterization on Conventional GPU Architectures. In High Performance Graphics, 173–182. Google ScholarDigital Library
    17. Munkberg, J., Clarberg, P., Hasselgren, J., Toth, R., Sugihara, M., and Akenine-Möller, T. 2011. Hierarchical Stochastic Motion Blur Rasterization. In High Performance Graphics, 107–118. Google ScholarDigital Library
    18. Niessner, M., Loop, C., Meyer, M., and Derose, T. 2012. Feature-Adaptive GPU Rendering of Catmull-Clark Subdivision Surfaces. ACM Transactions on Graphics, 31, 1, 6:1–6:11. Google ScholarDigital Library
    19. Pellacini, F. 2005. User-Configurable Automatic Shader Simplification. ACM Transactions on Graphics, 24, 3, 445–452. Google ScholarDigital Library
    20. Ragan-Kelley, J., Lehtinen, J., Chen, J., Doggett, M., and Durand, F. 2011. Decoupled Sampling for Graphics Pipelines. ACM Transactions on Graphics, 30, 3, 17:1–17:17. Google ScholarDigital Library
    21. Sitthi-Amorn, P., Modly, N., Weimer, W., and Lawrence, J. 2011. Genetic Programming for Shader Simplification. ACM Transactions on Graphics, 30, 6, 152:1–152:12. Google ScholarDigital Library
    22. Stoll, G., Mark, W. R., Djeu, P., Wang, R., and Elhassan, I. 2006. Razor: An Architecture for Dynamic Multiresolution Ray Tracing. Tech. Rep. TR-06-21, Dept. of Computer Science, University of Texas at Austin.Google Scholar
    23. Vaidyanathan, K., Toth, R., Salvi, M., Boulos, S., and Lefohn, A. 2012. Adaptive Image Space Shading for Motion and Defocus Blur. In High Performance Graphics, 13–21. Google ScholarDigital Library
    24. Wang, Z., Bovik, A., Sheikh, H., and Simoncelli, E. 2004. Image Quality Assessment: from Error Visibility to Structural Similarity. IEEE Transactions on Image Proc., 13, 4, 600–612. Google ScholarDigital Library
    25. Ward, G. J., Rubinstein, F. M., and Clear, R. D. 1988. A Ray Tracing Solution for Diffuse Interreflection. In Computer Graphics (Proceedings of SIGGRAPH 88), ACM, 85–92. Google ScholarDigital Library

ACM Digital Library Publication: