Aggregate G-Buffer Anti-Aliasing in Unreal Engine 4
In recent years, variants of Temporal Anti-Aliasing (TAA) have become the techniques of choice for fast post-process anti-aliasing, approximating super-sampled AA amortized over multiple frames. While TAA generally greatly improves quality over previous post-process AA algorithms, the approach can also suffer from inherent artifacts, namely ghosting and flickering, in the presence of complex sub-pixel geometry and/or sub-pixel specular highlights. In this talk, we will share our experience from implementing Aggregate G-Buffer Anti-Aliasing (AGAA) in Unreal Engine 4. AGAA approximates deferred lighting from a 4x or 8x super-sampled G-Buffer while maintaining a low shading rate per pixel (at most two lighting evaluations per pixel). This decoupling is achieved by clustering the G-Buffer samples and pre-filtering their geometric and shading attributes into pixel-space aggregates. We will start with a recap of the general benefits of normal map and surface curvature pre-filtering and detail how we have implemented them in the deferred renderer of UE4. We will then present the AGAA technique and its prerequisites in a game engine. We will describe the changes that we made to the engine to implement AGAA (clustering, on-the-fly aggregation, and resolve), the interactions with translucency and HDR lighting, and finally how temporal reprojection can be used with AGAA to further improve image quality.
Publication Date
Research Area
Uploaded Files
Copyright
Copyright by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or permissions@acm.org. The definitive version of this paper can be found at ACM's Digital Library http://www.acm.org/dl/.