Decoupled coverage anti-aliasing

State-of-the-art methods for geometric anti-aliasing in real-time rendering are based on Multi-Sample Anti-Aliasing (MSAA), which samples visibility more than shading to reduce the number of expensive shading calculations. However, for high-quality results the number of visibility samples needs to be large (e.g., 64 samples/pixel), which requires significant memory because visibility samples are usually 24-bit depth values. In this paper, we present Decoupled Coverage Anti-Aliasing (DCAA), which improves upon MSAA by further decoupling coverage from visibility for high-quality geometric anti-aliasing. Our work is based on the previously-explored idea that all fragments at a pixel can be consolidated into a small set of visible surfaces. Although in the past this was only used to reduce the memory footprint of the G-Buffer for deferred shading with MSAA, we leverage this idea to represent each consolidated surface with a 64-bit binary mask for coverage and a single decoupled depth value, thus significantly reducing the overhead for high-quality anti-aliasing. To do this, we introduce new surface merging heuristics and resolve mechanisms to manage the decoupled depth and coverage samples. Our prototype implementation runs in real-time on current graphics hardware, and results in a significant reduction in geometric aliasing with less memory overhead than 8×MSAA for several complex scenes.

[1]  Robert Toth,et al.  A sort-based deferred shading architecture for decoupled sampling , 2013, ACM Trans. Graph..

[2]  Morgan McGuire,et al.  Filtering approaches for real-time anti-aliasing , 2011, SIGGRAPH '11.

[3]  Kiril Vidimce,et al.  Surface based anti-aliasing , 2012, I3D '12.

[4]  C.E. Shannon,et al.  Communication in the Presence of Noise , 1949, Proceedings of the IRE.

[5]  Loren C. Carpenter,et al.  The A -buffer, an antialiased hidden surface method , 1984, SIGGRAPH.

[6]  Alexander Reshetov,et al.  Reducing aliasing artifacts through resampling , 2012, EGGH-HPG'12.

[7]  Aaron E. Lefohn,et al.  Aggregate G-buffer anti-aliasing , 2015, I3D.

[8]  Frédo Durand,et al.  The lightspeed automatic interactive lighting preview system , 2007, ACM Trans. Graph..

[9]  Frédo Durand,et al.  The lightspeed automatic interactive lighting preview system , 2007, SIGGRAPH 2007.

[10]  Natalya Tatarchuk,et al.  Advances in real-time rendering in games part I , 2019, SIGGRAPH '13.

[11]  Marco Salvi,et al.  Streaming G-Buffer Compression for Multi-Sample Anti-Aliasing , 2014, High Performance Graphics.

[12]  Kurt Akeley,et al.  Reality Engine graphics , 1993, SIGGRAPH.

[13]  Takafumi Saito,et al.  Comprehensible rendering of 3-D shapes , 1990, SIGGRAPH.

[14]  Martin White,et al.  Efficient coverage mask generation for antialiasing , 2000, IEEE Computer Graphics and Applications.

[15]  Lance Williams,et al.  Pyramidal parametrics , 1983, SIGGRAPH.

[16]  Frederick P. Brooks,et al.  Fast spheres, shadows, textures, transparencies, and imgage enhancements in pixel-planes , 1985, Advances in Computer Graphics.

[17]  Aaron E. Lefohn,et al.  Frustum-traced raster shadows: revisiting irregular z-buffers , 2015, I3D.

[18]  Alexander Reshetov Morphological antialiasing , 2009, High Performance Graphics.

[19]  Norman P. Jouppi,et al.  Z3: an economical hardware technique for high-quality antialiasing and transparency , 1999, Workshop on Graphics Hardware.

[20]  Morgan McGuire,et al.  A Survey of Efficient Representations for Independent Unit Vectors , 2014 .

[21]  Kurt Akeley,et al.  The accumulation buffer: hardware support for high-quality rendering , 1990, SIGGRAPH.

[22]  Marc Olano,et al.  Automatic shader level of detail , 2003, HWWS '03.

[23]  Carsten Dachsbacher,et al.  Decoupled deferred shading for hardware rasterization , 2012, I3D '12.

[24]  Abraham Mammen,et al.  Transparency and antialiasing algorithms implemented with the virtual pixel maps technique , 1989, IEEE Computer Graphics and Applications.

[25]  Martin White,et al.  Why step when you can run? Iterative line digitization algorithms based on hierarchies of runs , 2000 .