Fast approximate anti-aliasing
Fast Approximate Anti-Aliasing (FXAA) is an anti-aliasing algorithm created by Timothy Lottes at NVIDIA.[1] May also be referred to as Fast Sample Anti-aliasing (FSAA).
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 model itself as in conventional anti-aliasing.[1] Since it is not based on the actual geometry, it will smooth not only edges between triangles, but also edges inside alpha-blended textures or resulting from pixel shader effects, which are 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.
Processes
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
- ^ a b Lottes, Timothy (February 2009). "FXAA" (PDF). NVIDIA. Retrieved 29 September 2012.
- ^ Wang, James (March 19, 2012). "FXAA: Anti-Aliasing at Warp Speed". NVIDIA. Retrieved January 3, 2013.
- ^ Atwood, Jeff (December 7, 2011). "Fast Approximate Anti-Aliasing (FXAA)". Coding Horror. Retrieved September 30, 2012.