Alternative AA methods and their comparison with traditional MSAA*

And what about fast moving scenes?
If the edge detection doesn't rely on temporal relationships, motion is irrelevant. Each frame is AA'd to the same degree.

I remember repi posting about tests with BF:BC2+MLAA, he mentioned that you get some artefacts when moving around...
As I understand it that's not the same implementation as GWAA.

I just want to find out, if MLAA can be applied to every other game out there! We can either wait, and see if all games on PS3 in future have MLAA or try now to come up with situations, where MLAA may not be so good...
GWAA works by detecting hard-contrast edges in the current backbuffer and smoothing them effectively. Ergo it'll work on any framebuffer from any game. Whether it can be included in every game depends on the rest of the game engine.

If MLAA is cheaper compared to MSAA, you could combine this with SSAA to fight small or thin edge aliasing?
MLAA is cheaper for the resultant quality, but more expensive overall (impossibly expensive on current GPUs at the moment). SSAA is way too expensive to use in game circumstances as it doubles up the cost of every pixel. Basically, 2xSSAA 720p is equivalent to rendering 1080p and downscaling, and we know how few games can manage 1080p, let alone 1080p + MLAA!
 
Nice find. Though I am wondering whether or not this discussion is a little outdated ...

Yeah well, SPUs can do 128-bit math natively, so the implementation would be "natural". :p

I think God of War's MLAA may have added some more special sauce since its edge detection is not embarrassingly parallelizable according to T.B. [size=-2]Is that why you want to name it GoWAA ?[/size]

Didn't experience any strobing effect in the game. ^_^
Where would it come from ?

Christer Ericson said it was just edge blur. But the folks here said it was inconsistent with the results blur usually produces. I don't think it was ever discussed further..

Is edge blur cheaper than color blend ? Saboteur's AA looks good when the edge detection works. It's good to have a few variations to suit a particular game's needs.
 
Artifacts are easier to see when the camera moves around slowly, not fast.

Basically you lose sub-pixel accuracy on the edges and that causes some edges appearing and dissapearing.
It also looks worse than MSAA on every small or thin edge, this is very apparent while moving.

True but at least in GOW 3 seems more bizzarres 'waves' than jaggies in slow motions. About thin edges it's true but I think is very hard to notice without particular attention or maybe depend of how many small & thin edges use.
 
If the edge detection doesn't rely on temporal relationships, motion is irrelevant. Each frame is AA'd to the same degree.
I am really not sure about this, because it seems to me that the edge detection is rather a on/off thing and not a "smooth" process (there are no "half edges" for instance): you have a edge or you don't.

So by slightly moving the viewpoint/changing the image you change the edges and then you must hope that the edge detection and the averaging process in MLAA does not produce something "complete" different as compared to the frame before...
 
Shifty,

Could you take the time to start a thread that organizes the various edge anti-aliasing techniques (MSAA, SSAA, QAA, Large Tent, Edge Blurring, MLAA, AAA, GoWAA, etc) with a brief overview of the technique, links to examples, and links to the whitepapers / important posts, as well as pros/cons, performance on various platforms, etc?

That would be a great sticky seeing as it seems Metro, GoW3, Sabatour, etc all use different approaches and it looks like a fast moving field. This is B3D afterall, we should have THE definitive thread with a well organized OP.

You up to the task? It seems you have been following this field closely and have a handle on the technicals. Just outline it. i will help.

MSAA.

SSAA.

QAA.

MLAA.

Ok, I did all the hard work. Now you do the rest ;)
 
Josh, the PC techniques will be easy to compile, but the problem for the latest console iterations is that there basically no real papers other than MLAA or brief comments garnered from dev interviews on say Digital Foundry. We still don't really know exactly how Metro 2033's or even AvP's custom AA work. Just "dumbed" down explanations or nothing. The Blur comment on PS3's half-pixel offset + bilinear filter was more than other custom AA solutions we've come across. e.g. Mercenaries 2 on 360, which seemed like a z-based algorithm or even Saboteur PS3, which is just a couple forum posts on illuminance detection (I forget exactly). There are the other games that only perform MSAA on certain passes as well that might confuse folk or that one thread we had a little while back about Heavenly Sword or Uncharted 2 HDR + MSAA. Incorrect tone-mapping/post-processing & resolve... etc.

TechReport and a couple other major hardware review sites have a pretty good history with the PC techniques, but it'd be a pretty long list for screenshot examples... Quincunx itself has not been too well examined either... tough finding screenshots for more recent implementations. G7x, I mean.

TR itself has those MSAA tables showing the sub-sample positions (probably the best tables AFAIK).
 
Don't get me wrong... I'd love to expand the stuff I've been trying to compile/write in the current stickied list... If I get a headache over a few hours for trying to compile a bunch of info versus managing threads (though Shifty, you've been doing awesome lately)... overload. :eek:

edit: I've actually left a section open in the stickied thread for the custom AA stuff, but.................. I was sorta hoping the explanations I've written would have helped to explain the basics of the more conventional MSAA/SSAA. I know how the internet works and people skim over things, but... multiple languages considering... :(
 
I have to finish Alan Wake with 100% gamerscore, so......................................................................................................................................................................................................................................................................................................................................................there.

edit: I did just add a couple things on Alpha To Coverage, but feel free to correct me... I'd like to dumb down the explanations as much as possible. I can certainly miss out on things... not being borg and all.
 
I am really not sure about this, because it seems to me that the edge detection is rather a on/off thing and not a "smooth" process (there are no "half edges" for instance): you have a edge or you don't.

So by slightly moving the viewpoint/changing the image you change the edges and then you must hope that the edge detection and the averaging process in MLAA does not produce something "complete" different as compared to the frame before...
This reminds me of a case where MLAA just doesn't work well.
Perfectly vertical or horizontal edges, when moving it moves one pixel at time and no gradient can be made.
 
This reminds me of a case where MLAA just doesn't work well.
Perfectly vertical or horizontal edges, when moving it moves one pixel at time and no gradient can be made.

Yeah, this is a good example-thanks!
This is a scenario I thought about!!
 
Last edited by a moderator:
This reminds me of a case where MLAA just doesn't work well.
Perfectly vertical or horizontal edges, when moving it moves one pixel at time and no gradient can be made.

Do you really need to AA a perfectly vertical or horizontal edge though? I guess for consistency it may be desireable, but otherwise it would seem almost better not to AA them?
 
Do you really need to AA a perfectly vertical or horizontal edge though? I guess for consistency it may be desireable, but otherwise it would seem almost better not to AA them?
Yes as it gives the sub-pixel movement to the edge.
Currently you do see the texture move, but the edge is same until the treshold is crossed and it jumps to the next pixel.
With a proper AA the edge 'moves' same speed with the visible surface.
 
Shifty,...
It's a valid idea, ubt one that's more for graphics in general rather than just the console space, and I think would be better suited as an official Beyond3D article. Though as Al says, there are already some guides, and sadly we don't actually know a great deal about the current MLAA implementations. Even the term MLAA doesn't specify as much a process as an approach.

Maybe you can badger the site staff into covering AA in depth and getting exclusive info about how some current implementations work and what the future holds?
 
This reminds me of a case where MLAA just doesn't work well.
Perfectly vertical or horizontal edges, when moving it moves one pixel at time and no gradient can be made.
That's a good example I hadn't considered, meaning spacial resolution is at one sample per pixel and no better than no AA in that regard. Although I can't see this being perceptible in any but the slowest of slowly-scrolling vectors.
 
Any kind of purely 2D post-process based AA will always be susceptible for certain kinds of artifacts, and so even something as "low quality" as 2-4 sample MSAA is able to provide a more even result.

Doing less work is just not going to be enough, especially as shaders, textures and models will become more complex. Just think about a heavily displaced character's silhouette edges (remember that DX11 benchmark's dragon) which would flicker all around without MSAA - the lack of temporal coherence can not be cured by a post process blur. The LEAN normal mapping trick is also nice - but ultimately provides lower image quality then calculating the extra samples.

The really good thing about these new techniques is that they're pretty cheap and look better then no using no AA at all. Right now it seems to be the better choice to spend the systems' processing power on higher levels of detail, more complex shaders and lighting, instead of sacrificing it for MSAA.
Now whether it is a trade-off that's preferable in the long term has to be seen. If graphics hardware keeps on advancing, then some of the performance can be spent on enhancing the "raw" IQ, as I really doubt that going higher then a 1080p final resolution would make any sense. Also, current MSAA/SSAA solutions are still not adaptive, which could seriously reduce the performance and memory cost. Combining a selective 4xSSAA with MLAA would for example be a very nice and considerably more error-proof solution.
 
Back
Top