Fast approximate anti-aliasing

Three powerlines, a jagged one followed by two smoother ones.
Comparison between (from left to right) no anti-aliasing, 4x MSAA, and FXAA.

Fast Approximate Anti-Aliasing (FXAA) is an anti-aliasing algorithm created by Timothy Lottes under NVIDIA.[1]

The main advantage of this technique over conventional anti-aliasing is that it does not require large amounts of computing power. It achieves this by smoothing jagged edges ("jaggies")[2] according to how they appear on screen as pixels, rather than analyzing the 3D models itself as in conventional anti-aliasing.[1] In addition it smooths edges in all pixels on the screen, including those inside alpha-blended textures and those resulting from pixel shader effects, which were previously immune to the effects of multisample anti-aliasing (MSAA).[3]

Basically the simplest and easiest thing to integrate and use.

Timothy Lottes[4]

The downsides are that textures may not appear as sharp if they are included in the edge detection, and it must be applied before rendering the HUD elements of a game, lest it affect them too.

It is very similar to a patent Image Processor,[5] submitted by Stephen Todd at IBM in 1991.

Processes

Building image with highlighted edges.
FXAA processing illustrations

The processes of FXAA are listed as follows:

Find all edges contained in the image

Finding edges is typically a depth-aware search, so that pixels which are close in depth are not affected. This helps to reduce blurring in textures, since edges in a texture have similar depths.

Smooth the edges

Smoothing is applied as a per-pixel effect. That is, there is no explicit representation of the edges. Rather, the first step is a depth-aware edge filter, which marks pixels as belonging to edges, and the second step filters the color image values based on the degree to which a pixel is marked as an edge.

References

  1. 1 2 Lottes, Timothy (February 2009). "FXAA" (PDF). NVIDIA. Retrieved 29 September 2012.
  2. Wang, James (March 19, 2012). "FXAA: Anti-Aliasing at Warp Speed". NVIDIA. Retrieved January 3, 2013.
  3. Atwood, Jeff (December 7, 2011). "Fast Approximate Anti-Aliasing (FXAA)". Coding Horror. Retrieved September 30, 2012.
  4. Lottes, Timothy (September 3, 2011). "NVIDIA FXAA". Retrieved September 30, 2012.
  5. Stephen Todd (March 1, 1991). "Image processor".
This article is issued from Wikipedia - version of the Friday, October 30, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.