OpenGL guy said:
Uttar said:
My solution is to add a little something: cheating.
I'd use Analyctical Antialiasing on a *per pixel* basis ( not per sample ) to determine coverage. Then, I'd use that info to get the most correct number of samples, and in the best possible position too.
So how would you keep track of where you put each sample? You need to keep track of this data else intersecting polygons won't look correct.
Let me insist on a part of my quote:
and in the best possible position too
The idea is that you're pretty much got an ordered grid. Although it's more logical to see all of this is as "rectangles" instead of "points" in this case, but I guess that doesn't have much importance.
The real hard part in the whole algorithm is "getting the best possible position" - it seems the only way to get that is the brute force approach, and that's frankly quite expensive.
My guess is that for a real-time system, you wouldn't care too much if it isn't *exactly* the very best position for the samples - a good one might be sufficent. Or anyway I hope so, because otherwise I'm going to suffer at implementing this efficiently...
Uttar
EDIT:
P.S.: Sorry, sounds like I didn't exactly understand your question at first.
Using this algorithm, you could still describe a mode as "4x Antialiasing" or "9x Antialiasing" - the 4 & 9 still represent the number of Color & Z values. Both Z Compression and Color Compression are thus still useful.
The method does have a disadvantage, it wouldn't work very well with a number of sample which can't be divided equally between horizontal and vertical ( 6x AA or 8x AA, for example ) - it would work, but I fear there might be some minor quality problems.
The algorithm goal is to simply say "bye-bye" to bad angles. Sure, with ATI's 4x AA grid for example, you don't have a lot of them.
But as the number of samples increase, you begin to have to do more sacrifices: if you want to get excellent quality with the most regular angles, you're not going to benefit from the high number of samples for rarer angles.
The goal of this algorithm is to get maximum quality with all angles. That's all.
Uttar