Fast approximate anti-aliasing

From Wikipedia, the free encyclopedia
  (Redirected from FXAA)
Jump to: navigation, search
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]

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,[4] submitted by Stephen Todd at IBM in 1991.


Building image with highlighted edges.
FXAA processing illustrations

The processes of FXAA are listed as follows:

Find all edges contained in the image[edit]

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[edit]

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.


  1. ^ a b 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. ^ Stephen Todd (March 1, 1991). "Image processor".