Quote:
An important aspect of FXAA to note is that it is compatible with NVIDIA and AMD GPUs. In his blog, Mr. Lottes answers the "Why FXAA?" question with the following:
Wanted something which handles sub-pixel aliasing better than MLAA, something which didn't require compute, something which runs on DX9 level hardware, and something which runs in a single full-screen pixel shader pass. Basically the simplest and easiest thing to integrate and use.
So does FXAA use DirectCompute?
No, FXAA is just a post-processing shader. It is independent of any GPU Compute API, which was Lottes goal. FXAA is to be an efficient alternative to traditional anti-aliasing where MSAA is either impractical (too costly) or ineffective (shader aliasing) while having broad compatibility and simple integration. While we can neither speculate nor comment on the ease of integration, we can measure performance and examine image quality.
Quote:
Note, there are also many different versions of FXAA: FXAA 1 (which was described in the NVIDIA DX11 SDK white paper you mentioned), FXAA 2 which was designed for the Xbox 360, and FXAA 3 of which there are two algorithms, FXAA 3 Quality for the PC and FXAA 3 Console designed for the Xbox 360 and PS3. Performance has changed between versions: FXAA 3 has some major performance advantages over FXAA 1. A typical 720p video frame can be processed with FXAA 3 Quality in around 0.21 milliseconds on a GTX 480 with the default settings in DX11. Performance will also vary between DX9 and DX11 for the same settings (DX11 being faster due to gather4 and programmable offsets).
The FXAA in FEAR3 is based on FXAA 1. FXAA 1 was also used in Duke Nukem Forever, Age of Conan, Crysis 2 (with their temporal 2x supersampling) and Brink.