Figure 1: (left) The CITADEL scene rendered with the proposed Decoupled Coverage Anti-Aliasing (DCAA) method. (right) Insets comparing various algorithms for geometric anti-aliasing. Although 8×MSAA still has visible aliasing in regions with fine-scale geometry (e.g., the tree branches or building detail), our approach produces results of comparable quality to the reference, which is computed by correctly downsampling a 64× larger image computed with 8×MSAA (effectively 512 visibility samples per pixel).
AbstractState-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.