Alternative AA methods and their comparison with traditional MSAA*

I'm beginning to develop a pet-peeve here.

Analytical AA has nothing to do with post process AA.

Nothing at all. AAA is a method where you find the true color contribution for each primitive touching a pixel. So in effect you take the pixel to have an extend, clip all primitives against it, figure out occlusion and then integrate over the resulting polygons. This is not something you can do in a rasterizer, to my knowledge.

Now back to our regular scheduled discussion.

/PSA
Thanks I got completely mislead by this part of DF article (in bolt)
"The 360 was running deferred rotated grid super-sampling for the last two years, but later we switched it to use analytical anti-aliasing (AAA)," reveals Shishkovtsov. "That gave us back around 11MB of memory and dropped AA GPU load from a variable 2.5-3.0 ms to constant 1.4ms. The quality is quite comparable. The AAA works slightly different from how you assume. It doesn't have explicit edge detection.
"The closest explanation of the technique I can imagine would be that the shader internally doubles the resolution of the picture using pattern/shape detection (similar to morphological AA) and then scales it back to original resolution producing the anti-aliased version. Because the window of pattern detection is fixed and rather small in GPU implementation, the quality is slightly worse for near-vertical or near-horizontal edges than for example MLAA."
So a proper name would be (as find in the "standard" tech forum) screen space anti-aliasing?
 
I don't know where you guys are getting this stuff, all they said is:
GPU render scene with 2MSAA = Xms
GPU render scene = (X-5)ms

Heh, I took the reference point to be the MLAA implementations on both GPU and CPU. If they are comparing MSAA on GPU and MLAA on SPUs, then it would be interesting to eyeball the quality difference.

There's a very obvious implication that they aren't CPU limited, so extra time spent on SPUs is "free" in terms of framerate.

Even for the moving Titan level ? Aren't the SPUs swarmed with vertex work ? Or can they decouple the work such that the two workload don't affect each other (i.e., not on the same critical path) ?
 
From what I understand from TDMoss's twitter, they implemented MLAA successful with the help of SCEE. So I guess, Killzone 3 is gonna have it instead of the outdated quincunx AA.

Btw, I think DeanA was involved or at least his ATG group. Maybe he'd like to offer to fill in some of the blanks or maybe we can get Patsu in here to get it all wrong and smoke him out. :LOL:
 
patsu said:
Heh, I took the reference point to be the MLAA implementations on both GPU and CPU.
The way I read it, they were taking old version(2xMSAA) as reference point both in terms of quality and speed.

Even for the moving Titan level ?
I wouldn't know for every specific instance, but it's pretty clear that the decision to move AA off GPU was because they were looking to win back GPU time, and had SPU time to spare in general.
At any rate, one advantage GoW always has in terms of geometry complexity is camera predictability, what is on screen at any given time is a lot more predictable/controlled for them.
 
At any rate, one advantage GoW always has in terms of geometry complexity is camera predictability, what is on screen at any given time is a lot more predictable/controlled for them.
I thought I had laid that BS claim to rest in another thread already. Why does it persist? And does it have anything to do with why devs stay out of forums, because the BS is uncontrollable?
 
does it have anything to do with why devs stay out of forums, because the BS is uncontrollable?

Well there's a lot of irony in that comment, given that this thread is rife with devs at the moment. ;)

I have seen your comments in the God of War 3 thread, so I know what you are referring to - but if someone had not read them, which honestly is going to be the majority of people on the forum probably, why would anyone think that the camera were not fixed? I wouldn't let it eat at you when it comes up, information has to move (and be discussed) outside of game-specific threads before it really becomes disseminated.
 
See ? upnorthsox, told you someone else could do it too. :p


Fafalada, there is another GoW3 camera thread here:
http://forum.beyond3d.com/showthread.php?t=56605

For this thread, I am inclined to agree that Cell is probably less utilized than RSX. But they could also do it for the quality since the Saboteur AA looks superb in the general case. Or may be they want to reserve some RSX headroom for 3D ? Hard to tell without the devs chiming in.
 
At any rate, one advantage GoW always has in terms of geometry complexity is camera predictability, what is on screen at any given time is a lot more predictable/controlled for them.

Did you see the video? The camera can pull back all the way when Kratos was on Gaia's back. There is no video game on this planet can do that including RTS games.
 
Did you see the video? The camera can pull back all the way when Kratos was on Gaia's back. There is no video game on this planet can do that including RTS games.

Guys the point was addressed - let's not dwell on this vs discussing the actual thread subject.
 
Sooo...... some questions to throw out there in the wild... (RE: London-boy in GoW3 thread)


  • Is God of War 3's MLAA feasible in any or all forth-coming PS3 games? What are the considerations...
  • What are the drawbacks in terms of engine/renderer design... is it simply tacked on?
  • Or conversely, when should it not be used? At least, considering the multi-platform...
  • A non-issue for G-buffers, correct? It's done at the very end?
  • Why isn't there a bigger post-mortem on GoW3 at GDC to muddle the schedule even further!

Edit:
Some other things (please correct if wrong)

  • save on framebuffer memory and thus bandwidth
  • save on Z-fill on RSX vs MSAA, and colour fill for 4x
  • MSAA still has uses for thin objects and certain shadow filtering methods...
 
Judging at that png file in the GOW3 thread (hosted at pandora), the biggest problem seems to be individual pixels that are too bright compared to their surroundings, sort of like stuck pixels on a LCD. Maybe it can be improved and if a pixel is much much brighter than anything around it with a radius of 3, it can be toned down.
 
* Why isn't there a bigger post-mortem on GoW3 at GDC to muddle the schedule even further!

In GDC 2008, Sony revealed the free cross platform engine, PhyreEngine. In GDC 2009, they showed PhyreEngine 2.40. If they keep the momentum and tradition, we should see an update again.

Besides GDC, Sony has its own tech sharing sessions with PS3 developers only. I think we learned about the Omega head tracking and various SPU libraries and techniques there.
 
  • save on framebuffer memory and thus bandwidth
  • save on Z-fill on RSX vs MSAA, and colour fill for 4x
  • MSAA still has uses for thin objects and certain shadow filtering methods...
If game uses SPUs for lighting, shadowing on unresolved MSAA buffer, there should be some savings there as well.

Altough I would love to see MLAA with blending information from MSAAd buffer, perhaps just a polygon id buffer rendered with 4xMSAA.
There wouldn't be any need for complex shaders during that pass and you would get very good subpixel information from MSAA sample pattern.
 
Judging at that png file in the GOW3 thread (hosted at pandora), the biggest problem seems to be individual pixels that are too bright compared to their surroundings, sort of like stuck pixels on a LCD. Maybe it can be improved and if a pixel is much much brighter than anything around it with a radius of 3, it can be toned down.

This one?
http://openpandora.info/hosting/upload/files/2010-03/f78111.png

Which pixels are you referring to? The edge pixels look fantastic!
 
I suppose he's referring to artefacts such as can be seen on the top of the cliff above the blade in his right hand. There are such instances all over the place if you look about.

Those I assumed were just pixel shader errors due to not enough precision, not the geometry aliasing method.
 
Back
Top