Anti-Aliasing... so far

Reverend

Banned
In the late 90s, 3dfx came out with an AA technique that while not exactly new was the best in terms of commercial viability (the RGSSAA, with the VSA100). ATI debuted something (with the R300) which they felt they had the right to claim that they didn't borrow anything from the VSA100's technique (which I won't comment on because I have no insider knowledge regarding this) although theirs and 3dfx's technique (vis the VSA100) has more than a passing resemblance.

And then.... nothing new, really. We got what is generally considered to be a new level of sampling offered by ATi (6-sample) but that's about it.

I am sure the clever ones at the IHVs are working hard on some "revolutionary" AA technique as I type this.

The question is what that "revolutionary" technique will be. And I don't mean the difference between MS and SS because however crucial MS is (compared to SS), it is nothing more than a more efficient/less costly AA implementation.
 
Well we have TAA for both IHVs for their MSAA.
Not sure what else you can do besides just more samples:???:
 
radeonic2 said:
Well we have TAA for both IHVs for their MSAA.
Not sure what else you can do besides just more samples:???:
Well, you can always change the sample pattern (stochastic or what have you). Uttar had some crazy ideas about some kind of uber-Quincunx a while back, too.
 
The Baron said:
Well, you can always change the sample pattern (stochastic or what have you). Uttar had some crazy ideas about some kind of uber-Quincunx a while back, too.
Can ati do that with their programmable patterns?
edit- er.. uber blur?
 
I think he is just misinterpretign your well. I think he took your well to mean that it had an issue that wasn't reported.
 
Reverend said:
In the late 90s, 3dfx came out with an AA technique that while not exactly new was the best in terms of commercial viability (the RGSSAA, with the VSA100). ATI debuted something (with the R300) which they felt they had the right to claim that they didn't borrow anything from the VSA100's technique (which I won't comment on because I have no insider knowledge regarding this) although theirs and 3dfx's technique (vis the VSA100) has more than a passing resemblance.
What "passing resemblance" do you refer to? The fact that it's a rotated grid? As you mentioned, VSA100 was using SSAA, I don't see anyone supporting SSAA as their standard AA technique because it's too slow or expensive to make fast (2 or 4 VSA100 chips if you recall). Also, ATI has been using gamma corrected MSAA, I don't believe 3dfx's technique was gamma corrected, but I may be mistaken.

I sure don't see many similarities.
 
Xenus said:
I think he is just misinterpreting your well. I think he took your well to mean that it had an issue that wasn't reported.
Well it can have poor performance with tons of alpha textures like far cry:smile:
But yes, I meant as in we can now get the things that MSAA gave up on and that simply more samples were needed, and ati has programmable fsaa so they can change patterns, correct?
 
OpenGL guy said:
What "passing resemblance" do you refer to? The fact that it's a rotated grid? As you mentioned, VSA100 was using SSAA, I don't see anyone supporting SSAA as their standard AA technique because it's too slow or expensive to make fast (2 or 4 VSA100 chips if you recall). Also, ATI has been using gamma corrected MSAA, I don't believe 3dfx's technique was gamma corrected, but I may be mistaken.

I sure don't see many similarities.
Well. 3Dfx RGSS isn't gamma corrected. But VSA-10x offers programmable sample patterns (like ATi), so temporal AA or stochastic AA are not a problem and both can be used with any VSA-10x based graphics card (of course StAA will look awfully using one VSA core). TAA glide was released even a few weeks earlier than ATis TAA Catalyst driver :)

And here are some pictures of 3Dfx/nVidia FSAA 4x:

NV3x


NV4x/G7x


VSA-10x
 
Reverend said:
In the late 90s, 3dfx came out with an AA technique that while not exactly new was the best in terms of commercial viability (the RGSSAA, with the VSA100). ATI debuted something (with the R300) which they felt they had the right to claim that they didn't borrow anything from the VSA100's technique (which I won't comment on because I have no insider knowledge regarding this) although theirs and 3dfx's technique (vis the VSA100) has more than a passing resemblance.

And then.... nothing new, really.

Akenine-Moller and Ström did some interesting work on combining samples and filters
http://www.cs.lth.se/home/Tomas_Akenine_Moller/pubs/flipquad_tr.pdf
and
http://www.cs.lth.se/home/Tomas_Akenine_Moller/pubs/fliptri_tr.pdf
 
I'd like to have hardware adaptive AA like in renderers like Mental Ray. It compares the pixels before and after AA and stops when the difference is below a treshold. :D
 
Vadi said:
I'd like to have hardware adaptive AA like in renderers like Mental Ray. It compares the pixels before and after AA and stops when the difference is below a treshold. :D
I see the smiley but, in all honesty, with a hardware solution, by the time you did the lower level of sampling got the results back and decided you needed to do more, you could probably have done the higher sampling rate to start with. <shrug>
 
Simon F said:
I see the smiley but, in all honesty, with a hardware solution, by the time you did the lower level of sampling got the results back and decided you needed to do more, you could probably have done the higher sampling rate to start with. <shrug>
Yes, bandwidth should be a problem. Couldn't you split up the AA and the rest between two boards?
 
I can think of a few 'new' AA developments since the 3dFX days.

Matrox had the Fragment AA, which isnt perfect, but is still a development.
ATI has the temporal AA, which as far as I know hasnt been used by anyone else.
Both Nvidia and ATI have their own versions of TAA, which is always nice.
XGI have their 'Reverse AA' where they render at a low res, and scale it up to a higher res to add jaggies. ;)

So, over the last few years there have been many improvements, but I dont really see there being any huge jumps.

Ali
 
I'd like to see some techniques like weighted area sampling or catmull anti-aliasing in hardware. But I don't believe we'll see such things soon because it would cost too much money/performance/die size.

The others here summed up very nicely the development of the past years and I agree that there was no revolution at all. The biggest transitions where from SSAA to MSAA and from fixed pattern to programmable sample patterns (even though 3dfx seems to have had programmable patterns too).
But these transitions were made to gain more performance and not quality.
 
Reverend said:
I am sure the clever ones at the IHVs are working hard on some "revolutionary" AA technique as I type this.

The question is what that "revolutionary" technique will be. And I don't mean the difference between MS and SS because however crucial MS is (compared to SS), it is nothing more than a more efficient/less costly AA implementation.
People have been working on devising clever anti-aliasing schemes for, like, several decades - the problem with practically all non-MS/SS schemes that have been proposed so far is that there are situations where they produce serious rendering artifacs with ordinary polygonal data (e.g. A-buffer or coverage-to-alpha-conversion) or that they are too expensive (e.g. storing full geometric representations of the polygon edges affecting the pixel). Many proposed schemes are just Multisampling with some sort of lossy compression applied (A-buffer, Z3 etc; I presume Fragment-AA belongs to this category as well), where the lossiness of the compression method makes rendering artifacts eventually unavoidable (you can to some extent reduce the artifacts with various tricks, effectively trading off rendering artifacts against algorithmic complexity, but you never quite 'win').

I don't see any major advances on the horizon; there may be something to gain by using other downsampling filters than plain box filters, but I am not at all convinced: Bartlett filters tend to introduce a bit of undesirable blur, windowed-sinc filters tend to cause ringing artifacts, etc.
 
I was asking Eric Demers about AA over the Ibiza weekend and just mentioning how it appears to have stagnated - there's been very little advancement on it since MSAA was introduced. He made the point that MSAA is very predicable and most other schemes, certainly ones that store different numbers of samples dependant on the requirements of a pixel, just trash the memory and screws up the access patterns - the point about MSAA is that you know what its going to do to the memory and performance can be built around that.
 
Well current hardware can't really doing stochasitic AA since as far as I'm aware it can't change the sampling co-ordinates per pixel. Actually to in real time do proper stochastic AA would take up alot of transistors since you probably want a piosson disc distrubtion rather then simple random distrubtion and it starts to get expensive.

Which is why I suggest back here http://www.beyond3d.com/forum/showthread.php?t=19517 we move to semi-stochastic using precomputed wang tiles for the co-ordinate selection.

Adaptive AA as described in vadi's would be nice but that more lends itself to isolated pipelines rather then operating in batches.
 
Last edited by a moderator:
Back
Top