FXAA takes a different approach to MLAA edge re-vectorization ideology. Instead of shape patterns, a horizontal and vertical pixel- (luminescence) discontinuities are detected which represent an edge angle (length is the discontinuation magnitude). From the local pixel position in both negative and positive directions a end-to-edge search is performed (the of edge end is determined by a maximum search distance or a threshold which exceeds average discontinuation magnitude). Based on a perpendicular vector from the local to end-of-search pixel position vector, a blending/resampling operation is performed with the corresponding neighboring pixel (pixel position where the perpendicular vector points at). The amount of blending depends on the luminescence magnitude.
Channels: Red = edge, Green = horizontal discontinuation, Blue = vertical discontinuation.
- Pixel and sub-pixel antialiasing (an edge can be represented by a singe single pixel).
- Can be integrated into a single fragment shader.
- Low integration complexity factor.
- Deferred rendering pipeline friendly.
- Has tendency to result in a less sharp image quality than MLAA.
- Requires hardware anisotropic sampling support (should not be a problem on modern hardware).
- Designed to work on final image with low dynamic range sRGB, HDR images will generate artifacts (solution: clamping channel values between 0 and 1).