Alternative AA methods and their comparison with traditional MSAA*

Wow, that's a lot of different methods, it'll be interesting to see if we can find a clear winner.

At best you'll have winners for only certain situations or game conditions (art style, not just performance) given the various drawbacks. I don't see why it has to be about a one size fits all anyway. There's a reason why there are so many variations.
 
The real winner here should be such a collection of thinkings that more ideal hyrids and tangents can be developed. Specifically it'll be worth the GPU IHVs having a good nose and seeing what hardware should be doing to get best IQ for the least effort. The really interesting development here is that, for years, it was the GPU vendors who investigated and developed AA techniques based on their own thinkings. Suddenly we have a whole load of alternative minds, spawned from programmable hardware allowing new things to be tried.
 
'Distance-to-edge' AA sounds very intriguing. And I have to say; 1.3ms is exceptionally quick for 720p MLAA pass.
 
I wonder if there is any difference between this type of MLAA on 360 and the on PS3.I mean,the technique is the same,right?

Not really. All MLAA algorithms have the same basic approach I suppose, but the implementations vary widely. So comparing performance numbers is is pretty useless. Ideally, we'll reach a point where you have a number of robust solutions of varying performance and quality and you choose what makes the most sense for your title.
 
So...what hardware AA designs should GPU IHVs being look at developing? Sticking with MSAA sampling hardware and doing the rest in shaders? Having programmable sampling for optional samples of depth, stencil, textures and shaders? Even adjustable sampling patterns?
 
So...what hardware AA designs should GPU IHVs being look at developing? Sticking with MSAA sampling hardware and doing the rest in shaders? Having programmable sampling for optional samples of depth, stencil, textures and shaders? Even adjustable sampling patterns?
Per pixel/quad adjustable patterns and sample amounts would be sweet. :)
Although fully variable resolution for rendering might be even more so.
 
We already have "programmable sampling", it's called "render at sample frequency and output anything you need as input in your custom anti-aliasing pass/algorithm" ;)
 
That's full resolution sampling though for all aspects, meaning increased texture and shader workloads etc. Although if you go deferred, you can always sample each buffer at different resolutions for different workloads. Maybe that's the future? Sod AA in hardware completely, and just render MRT to do whatever the developer wants with? Theoretically we could go with chroma subsampling, rendering luminance in high quality and colour in lower resolution. I just tried that with a game screenshot and it works as well as you'd hope, though TBH I don't see how working on just a luminance channel with AA would yield real benefits on current hardware.
 
Looks promising. One can imagine an architecture that separates, as this, shading from coverage, leaving AA techniques to deal with edge AA and shader AA independently. This would solve issues with detail blurring of some AA techniques. Their estimated costs are substantially higher overall than plain vanilla MSAA, but I'm sure a hardware architecture designed with decoupled shading in mind could help out.
 
http://www.iryoku.com/aacourse/#top

Seems like there will be alot of new AA solutions @siggraph

I'll be covering a technique I call GBAA as well (see updated schedule). I haven't published a demo of it yet, but have a working implementation. It's sort of an extension of the GPAA idea covering up its main flaws (line rasterizing pass, pre-processing etc).

'Distance-to-edge' AA sounds very intriguing.

It's covered in GPU Pro. Although I suppose the author could have come up with new additions / improvements to the technique since then.
 
Great!I have seen your blog with technique which seems to work great but I'm just not sure of one thing.Since it geometry AA,how will performance be affected on more complex scenes? You work @ avalanche,right?Just playing JC2 and it is a beast,great fun!:D
 
*noob alert* If it only works on geometry, what do you do about specular and transparency AA?
 
That's the same problem with MSAA and others. Analytical edge AA works because we know what the edge should look like, but shader antialiasing can't be computed in a post effect (unless you have some rough procedural effects like stripes). nAo's linked paper addresses shader aliasing with adaptive supersampling, which is suitably costly. Short of supersampling, you'd have to solve AA issues in the shader.

At the moment I don't think anything is really addressing shader aliasing.
 
*noob alert* If it only works on geometry, what do you do about specular and transparency AA?
I don't know any silver bullet for aliasing not caused by insufficient visibility sampling rate. It can be addressed in several ways:
  • Pre-filter (when possible) source of aliasing. Can be a texture or even specific math used in the shader (i.e. replace step functions with smoother functions, etc..)
  • Run shader at higher frequency. This can be done via super-sampling (stupid) or with shader caches (less stupid)
  • Precompute (when possible) a nicely pre-filtered version of your prone-to-be-insufficiently-sampled signal (i.e. mip maps)
And I am sure I left some more out.
 
Back
Top