“A4: asynchronous adaptive anti-aliasing using shared memory” by Barringer and Akenine-Moller

  • ©Rasmus Barringer and Tomas Akenine-Moller




    A4: asynchronous adaptive anti-aliasing using shared memory

Session/Category Title: Advanced Rendering




    Edge aliasing continues to be one of the most prominent problems in real-time graphics, e.g., in games. We present a novel algorithm that uses shared memory between the GPU and the CPU so that these two units can work in concert to solve the edge aliasing problem rapidly. Our system renders the scene as usual on the GPU with one sample per pixel. At the same time, our novel edge aliasing algorithm is executed asynchronously on the CPU. First, a sparse set of important pixels is created. This set may include pixels with geometric silhouette edges, discontinuities in the frame buffer, and pixels/polygons under user-guided artistic control. After that, the CPU runs our sparse rasterizer and fragment shader, which is parallel and SIMD:ified, and directly accesses shared resources (e.g., render targets created by the GPU). Our system can render a scene with shadow mapping with adaptive anti-aliasing with 16 samples per important pixel faster than the GPU with 8 samples per pixel using multi-sampling anti-aliasing. Since our system consists of an extensive code base, it will be released to the public for exploration and usage.


    1. Abrash, M. 2009. Rasterization on Larrabee. Dr. Dobb’s Journal (May). http://www.drdobbs.com/parallel/rasterization-on-larrabee/217200602.Google Scholar
    2. Aila, T., Miettinen, V., and Nordlund, P. 2003. Delay Streams for Graphics Hardware. ACM Transactions on Graphics, 22, 3, 792–800. Google ScholarDigital Library
    3. Akenine-Möller, T., and Aila, T. 2005. Conservative and Tiled Rasterization Using a Modified Triangle Set-Up. Journal of Graphics Tools, 10, 3, 1–8.Google ScholarCross Ref
    4. Akenine-Möller, T., Haines, E., and Hoffman, N. 2008. Real-Time Rendering, 3rd ed. AK Peters Ltd.Google Scholar
    5. Amanatides, J., and Woo, A. 1987. A Fast Voxel Traversal Algorithm for Ray Tracing. In Eurographics, 3–10.Google Scholar
    6. Andersson, J. 2012. Five Major Challenges in Real-Time Rendering. In Beyond Programmable Shading course, SIGGRAPH.Google Scholar
    7. Auzinger, T., Wimmer, M., and Jeschke, S. 2013. Analytic Visibility on the GPU. to appear in Computer Graphics Forum (Eurographics 2013).Google Scholar
    8. Barringer, R., Gribel, C. J., and Akenine-Möller, T. 2012. High-Quality Curve Rendering using Line Sampled Visibility. ACM Transactions Graphics, 31, 6, 162:1–162:10. Google ScholarDigital Library
    9. Bergeron, P. 1986. A General Version of Crow’s Shadow Volumes. IEEE Computer Graphics and Applications, 6, 9, 17–28.Google ScholarDigital Library
    10. Carpenter, L. 1984. The A-buffer, an Antialiased Hidden Surface Method. In Computer Graphics (Proceedings of SIGGRAPH 84), 103–108. Google ScholarDigital Library
    11. Catmull, E. 1978. A Hidden-Surface Algorithm with AntiAliasing. In Computer Graphics (Proceedings of SIGGRAPH 78), 6–11. Google ScholarDigital Library
    12. Crow, F. 1977. Shadow Algorithms for Computer Graphics. In Computer Graphics (Proceedings of SIGGRAPH 77), 242–248. Google ScholarDigital Library
    13. Crow, F. C. 1977. The Aliasing Problem in Computer-Generated Shaded Images. Communications of the ACM, 20, 11, 799–805. Google ScholarDigital Library
    14. 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, 67:1–67:8. Google ScholarDigital Library
    15. Glaister, A., 2008. Windows Advanced Rasterization Platform (WARP) Guide. MSDN, November.Google Scholar
    16. Greene, N., and Kass, M. 1994. Error-Bounded Antialiased Rendering of Complex Environments. In Proceedings of SIGGRAPH, 59–66. Google ScholarDigital Library
    17. Greene, N., Kass, M., and Miller, G. 1993. Hierarchical Z-Buffer Visibility. In Proceedings of SIGGRAPH, 231–238. Google ScholarDigital Library
    18. Greene, N. 1996. Hierarchical Polygon Tiling with Coverage Masks. In Proceedings of SIGGRAPH, 65–74. Google ScholarDigital Library
    19. Guenter, B., Finch, M., and Snyder, J. 2012. Foveated 3D Graphics. ACM Transactions on Graphics, 31, 6, 164:1–164:10. Google ScholarDigital Library
    20. Jimenez, J., Gutierrez, D., Yang, J., Reshetov, A., Demoreuille, P., Berghoff, T., Perthuis, C., Yu, H., McGuire, M., Lottes, T., Malan, H., Persson, E., Andreev, D., and Sousa, T. 2011. Filtering Approaches for Real-Rime Anti-Aliasing. In ACM SIGGRAPH 2011 Courses. Google ScholarDigital Library
    21. Morein, S. 2000. ATI Radeon HyperZ Technology. In Workshop on Graphics Hardware, Hot3D Proceedings.Google Scholar
    22. Piazza, T. 2012. Processor Graphics. In High Performance Graphics — Hot3D Talks.Google Scholar
    23. Pineda, J. 1988. A Parallel Algorithm for Polygon Rasterization. In Computer Graphics (Proceedings of ACM SIGGRAPH 88), 17–20. Google ScholarDigital Library
    24. Reshetov, A. 2009. Morphological Antialiasing. In High Performance Graphics, 109–116. Google ScholarDigital Library
    25. Sander, P. V., Hoppe, H., Snyder, J., and Gortler, S. J. 2001. Discontinuity Edge Overdraw. In Symposium on Interactive 3D Graphics, 167–174. Google ScholarDigital Library
    26. Warnock, J. W. 1969. A Hidden Surface Algorithm for Computer Generated Halftone Pictures. Tech. rep., Utah University.Google Scholar
    27. Young, P. 2007. Coverage-Sampled Anti-Aliasing. Tech. rep., NVIDIA.Google Scholar

ACM Digital Library Publication:

Overview Page: