Analytical Anti-Aliasing Techniques

While sampling-based techniques are intuitive and work very well given a high enough sample count, they are also computationally expensive. This issue is exacerbated when rendering methods – such as deferred shading – are employed which may make it harder to use the more efficient, hardware-accelerated sampling types. Therefore, other methods to reduce the visual artifacts caused by aliasing in 3D rendering have been investigated. These methods only render a normal image, with one sample per pixel, and subsequently try to identify and eliminate aliasing by analysing the image.

A Short History and Introduction

While recently popularized in the wake of Reshetov's 2009 article about Morphological Anti-Aliasing (and often dubbed MLAA in response) [1], anti-aliasing computer-generated images via analysis is by no means a new idea. Jules Bloomenthal provides a succinct description of the practice in his 1983 SIGGRAPH article "Edge Inference with Applications to Antialiasing", which is still largely applicable to modern methods today [2]:

"An edge, when point-sampled for display by a raster device and not aligned with a display axis, appears as a staircase. This common aliasing artifact often occurs in computer images generated by two- and three-dimensional algorithms. The precise edge information often is no longer available but, from the set of vertical and horizontal segments which form the staircase, an approximation to the original edge with a precision beyond that of the raster may be inferred. This constitutes a smoothing of the staircase edge.

Among other applications, the inferred edges may be used to reshade the pixels they intersect, thereby antialiasing the inferred edges. The antialiased inferred edges prove a more attractive approximation to the real edges than their aliased counterparts."

In 1999, Isshiki and Kunieda introduced the first variant of this technique aimed at real-time use, which proceeds by scanning pairs of lines and columns in the image and is suitable for a hardware implementation [3].

Generally, all purely analytical anti-aliasing methods proceed over 3 steps:

  1. Detect discontinuities within the image.

  2. Reconstruct geometric edges from the pattern of discontinuities.

  3. Anti-alias the pixels intersecting those edges by blending the colours to each side of them.

Individual implementations of analytical anti-aliasing differ in how they implement each of these steps.