Hi all,
I'm one of the authors of the SMAA paper (Jorge Jimenez). There is a really interesting discussion ongoing here, so I thought it would be fantastic to participate! I'd like to clarify some issues that have been raised in this topic; for the sake of brevety, I won't quote specific comments, but rather talk in a general way.
First of all, we don't claim postprocessing AA to be a superior solution to MSAA or SSAA, because it isn't! The reality is, however, that MSAA or SAAA are too expensive in particular scenarios (see BF3 or Crysis 2). If you measure the cost of CSAA 16xQ in Crysis 1, you won't believe how expensive it can be in some cases (even on modern GPUs).
Actually, the message we wanted to communicate with SMAA is the other way around: postprocessing antialiasing cannot recover real subpixel features, as they have been already destroyed by the sampling process. So, other approaches must to be used to accurately represent subpixel features.
Some time ago, we thought: MSAA is great, but it's expensive, and doesn't work well with deferred engines. It also doesn't have great gradients unless you use high sample counts. On the other hand, postprocessing antialiasing has great gradients and is cheap. And finally, temporal supersampling is able to represent subpixel features and deal with shading aliasing.
So, why not combine them into a single technique? The core idea of SMAA is about how to accurately combine MLAA with temporal SSAA and MSAA. It's not to drop MSAA in favor of MLAA, but to leverage the advantages of very different approaches. We don't claim our technique to be the most accurate out there, as SSAA 16x and CSAA 16xQ will be more accurate, in the general case. However, we think SMAA is a good solution for a today's problem, which in our opinion, gets the quality most people is demanding. It's not an step forward with regards to CSAA or MSAA. However, it's a quality boost in the cases where these techniques can't simply be used.
Supersampling MLAA is not as trivial as it may sound: doing MSAA + FXAA or MSAA + MLAA is not good at all, and gives worse subpixel features than using MSAA alone. In the newest version of the paper (currently submmited to a journal for review), this is explained more clearly. We apologize because current technical paper is not that good at explaining things, and also doesn't show the latest results. In the final version we contextualized better some of our 'claims'. I hope you will understand that current technical paper is WIP work.
Having three different components (morphological, multisampling and temporal supersampling), they backup each other pretty well: when morphological fails because of edge detection or subpixel features, multisampling and supersampling back it up; when MSAA fails because of shader aliasing or gradients, the other two back it up; and finally, when temporal supersampling fails because of very fast motion, the other two back it up. So, the basic idea is to improve the robustness of the each method as the failure cases are covered by the other techniques. By using low sample counts we are avoiding temporal artifacts and performance penalties. Finally, by applying a very very conservative implementation of MLAA, we maintain the image as pristine as possible, so that multi/supersampling can do its work where a morphological approach fails.
Going further, we believe the deferred shading antialiasing problem will stay for a long time, or maybe forever. Supersamplingthe edges 16 times in a deferred engine (for CSAA 16xQ, for example) is probably going to always take a percentage of the resources of a GPU. As GPUs get more powerful, it's likely that more resources will be spent in more advanced shading, which will make this supersampling cost to stay similar over the years. On the other hand, SMAA 4x only requires supersampling 2 times, and the cost of running the morphological component will be lower and lower as GPUs evolve.
Regarding the movie, the scenes are chosen so that they have plenty of subpixel features. SSAA and CSAA 16xQ are shown in the movie as reference, not because our technique achieves that quality. However, we could also select real footage from games where SMAA 4x (or even 1x) would produce the same results as SSAA 16x. It all depends on the game content and style; artistic direction can sometimes hide aliasing artifacts (see the wonderful job done in Starcraft 2).
Here's the thing - if you're honestly looking at the quality of the edge gradients on single surfaces you're totally missing the point these days. There have been perfectly acceptable solutions to that for ages. That is what I call the "easy" aliasing.
I'd argue with this; there are a lot of games that are bundled without AA, with blur based AA, or even supersampling the scene because they had no other option. It took years to solve the aliasing problem in deferred engines. So, as of today there are plenty of solutions, but just past year there wasn't so many good options =)
Sorry for this rather long post, hope this will help to better understand the design decisions behind SMAA =)