No, you are probably right. The story of this article is actually that I initially wrote it with the intent to put it on digital foundry, but it was too technical for that. But since that's what I wanted it to be (a reference and not just a look at AA in games) I contacted B3D.It's an interesting article... but it's dense. Almost unreadably dense. I understood the principles of AA going into the article and I still had to reread several parts over a few times for it to really sink in. Maybe I'm just tired...
No, you are probably right. The story of this article is actually that I initially wrote it with the intent to put it on digital foundry, but it was too technical for that. But since that's what I wanted it to be (a reference and not just a look at AA in games) I contacted B3D.
I would love to do an article that goes in detail about the performance impact of each of these AA options -- something I don't really cover at all -- in various scenarios and on various hardware, but I simply don't have the time (and neither the large number of GPUs required) to thoroughly analyze this. And I certainly don't want to do a half-baked article.Are you planning on doing any further articles on aliasing in the future? I found this a great primer but there's massive of scope to go into each method.
I guess you can register and post in the article comments. AFAIK B3D isn't really a huge "commercial" thing like some other sites. They post articles that meet some quality standard and fit the site profile, but they don't really produce them on demand. Personally, I've been reading B3D since 2000 (or earlier) and been a forum member since 2002. It was the place for real technical in-depth information during the glory days of 3D hardware acceleration, when each generation of cards every year brought entirely new features to the table, not just better performance. I never expected 12 years ago to ever see an article I wrote on B3D, it's a really nice feeling.And who do I go to at Beyond and give the thumbs up and say I want to see more of this?
Those are really nice.short AA demos (SMAA T2X) -10MB per video.
And thanks for those videos as well. Now my eyes hurt from this massiv aliasingshort AA demos (SMAA T2X) -10MB per video.
Source including ... source.Those are really nice.
I've looked for more comparisons, but the best I found is from the original SIGGRAPH paper (1985):Stochastic sampling is best when you get to high sample counts, but at the levels usually employed in real time graphics (e.g. 4 samples), a "regular" sparse grid often looks better in my experience.
supersampling is still quite expensive and doesn't solve gradients, so I'd suggest SMAA 4x instead (as used in crysis 3). If not possible combine sgssaa with SMAA 1x (via injectSMAA)Great article. If I'm looking at it right, 4xSGSSAA is the best overall method with the least FPS drop.![]()
No, SSAA is generally much more expensive than MSAA at the same sample count (regardless of sample pattern). Its advantage is that it deals with shader aliasing, texture aliasing and transparency aliasing, while MSAA only deals with geometry aliasing.Great article. If I'm looking at it right, 4xSGSSAA is the best overall method with the least FPS drop. In fact its performance hit is better than 4xMSAA...interesting. Is SGSSAA a commonly used method?
Good catch.Also, typo on page 13. 'artefacts'.![]()
Hmm, that file should be part of the redistributable package.Hey Durante.
Program does not start and complains about missing MSVCP110.dll.
I installed the c++ redist. but still the same.
supersampling is still quite expensive and doesn't solve gradients, so I'd suggest SMAA 4x instead (as used in crysis 3). If not possible combine sgssaa with SMAA 1x (via injectSMAA)
![]()
source
From a quality vs performance standpoint, yes. Other than that I was suggesting adding at least SMAA 1x to SGSSAA to solve the remaining gradient issues.4xSMAA over 4xSGSSAA?
*snip*
Does anyone know of any list of games which implement some of the more recent, higher quality combined sampling/analytical AA methods? (That is, higher SMAA levels or TXAA)
Does anyone know of any list of games which implement some of the more recent, higher quality combined sampling/analytical AA methods? (That is, higher SMAA levels or TXAA)
Yeah, I know about Crysis 3, IIRC someone from Crytek was actually involved with SMAA development. Are there any other games which include SMAA4x?Crysis 3 has FXAA, SMAA 1x, SMAA T2x, SMAA 4x, TXAA 2x, TXAA 4x, MSAA 2-8x.
Yeah, I know about Crysis 3, IIRC someone from Crytek was actually involved with SMAA development. Are there any other games which include SMAA4x?
SMAA is my current fave, in terms of performance cost vs image quality. It's almost free.From a quality vs performance standpoint, yes. Other than that I was suggesting adding at least SMAA 1x to SGSSAA to solve the remaining gradient issues.
And perhaps a good deal more than that.
Diving into Anti-aliasing is an article I wrote not in a small part because of various GAF posts over the years which I wrote trying to explain the various types of aliasing, anti-aliasing, and their various advantages and drawbacks. I always felt those were insufficient, but still too long and meandering (and not illustrated well enough) to actually cover the topic. And there wasn't really a single, complete and modern resource on the internet which explained all types of techniques and put them into context.
What I ended up with is that article and an accompanying demonstration program which hopefully helps everyone (who wants to) in understanding all the issues and attempted solutions.
If you ever asked yourself "why is SGSSAA (if available) better than downsampling?" or "why does SMAA sometimes look better than 4xMSAA and sometimes look worse?" or "what is up with that chain link fence / specular highlight when everything else is perfectly anti-aliased?" then you should read this article.
Also, sorry for continuing to make people not take gaming seriously
(Edit: I just realized this might be considered as self-promotion, so I'd like to note I get absolutely nothing -- well, except happiness-- from people reading this article)
It's a rather complicated topic.How do various quality settings of SMAA correspond to the number of samples taken? (Low, normal, high, ulra, etc.) Is that a separate parameter?
It's a rather complicated topic.
Most of the time when you get the opportunity to use "SMAA" (either native in games or by injection) it will be SMAA1x. That in itself has different quality settings, but always only takes one sample (it's a pure post-processing method). The other SMAA types are usually not just called "SMAA" but more specifically e.g. SMAA4x. These use multiple temporal and/or spatial samples. For example, SMAA S2x uses two spatial samples.
The problem is that you cannot (easily) inject anything other than SMAA1x, since the other methods require more in-depth changes to the rendering pipeline.
Well, they aren't achieved without MSAA/SSAADamn, that makes it sound like we're really missing out. The 4x SMAA examples were really impressive, far beyond what I thought you could achieve without MSAA/SSAA.
Features of note include the equivalent quality of SGMSAA and SGSSAA with the same sample count for geometry aliasing
It's not ruled out at all, never was really, it just requires people to think about it and implement the resolve at the correct step during their rendering process. And it requires more performance -- more than anyone is willing to spend on consoles. And that's why only Crytek does itIt's a shame that the popularity of deferred rendering has limited our options so much in the last few years. I assume that the 4x SMAA you just described would be ruled out for the same reason as traditional MSAA? Also, is there any hope that Forward+ rendering will save us?
Well, they aren't achieved without MSAA/SSAA
SMAA 4x uses 2 spatial samples over 2 timesteps for 4 total samples. So it needs 2xMSAA + sub-pixel offset over even/odd timesteps + postprocessing to make it all work together.
But yes, the performance/quality ration for it is really good, and if all game developers cared as much about IQ as Crytek or me you could use it in every game![]()
Nvidia list TXAA support for these:
The Secret World
Assassin's Creed III
CoD: Black Ops II
Neverwinter
Splinter Cell: Blacklist
Batman: Arkham Origins
Assassin's Creed IV: Black Flag
On the subject of sample positions:
Rotating the grid only trades bad vertical/horizontal alising for bad aliasing at that rotated angle.
Due to the distributions of the rods and cones in our eyes, they are very good to detect patterns, but bad at high frequency detail[1]
![]()
Well, other shapes of pixels wouldn't really solve the issue, at best they'd just move it to a different direction. There are some screens with different pixel/sub-pixel alignements (e.g. Pentile OLEDs), but with those you can even get some artifacts on perfectly straight vertical or horizontal black/white lines. Since those are pretty important square axis-aligned pixels make the most sense.Thank you Durante, I will read the article as soon as I'm backI'm about to head out but in the fear of making a fool out of myself, let me still ask this question before I go: As far as I know the inherit problem why aliasing even exists is the use of square-pixels on the screen so I'm wondering, is there any reason (I'm guessing cost and manufacturing processes?) why we still to this day rely on square-pixels to show images on a screen?