arjan de lumens
Veteran
Yup. You need some sort of method that can combine color values once you exceed the 4-color limit. The problem is that there is no such method that works correctly in all cases.Uttar said:Here's a possible solution:
Use the same color as one nearby sample.
Sure, it degrades quality. But as I said before, it shouldn't give worse quality than traditional 4x AA.
The real problem with the whole method is that it's hard to implement.
To the point of avoiding stopgap solutions, it seems, which is the part that doesn't make sense.Agreed, Rotated Grid is on overall better than Ordered.
But it seems nVidia really want to use a perfect sampling pattern the next time they change their sampling patterns.
Too bad there's no such thing
My point? The way I see it, Fragment AA and Color Compression are essentially different features - Color Compression doesn't affect the color of any pixel/sample while Fragment AA potentially does (due to the color count restriction).What did you mean here, exactly?
What prevents you from only writing one color value when there's only one color value per pixel, when using Fragment Antialiasing?
It just seems to me that the Color Compression methods used today are a special case of a Fragment Antialiasing algorithm.
Or anyway, they could be, depending on how it's implemented.
You suggested a Fragment AA scheme with a bitmap containing 3 bits per pixel that indicates which color (out of a total of max 4) is used for each of the 16 samples - for the common case where you have 1 or 2 colors per pixel, this bitmap is in turn extremely compressible itself (which is important, given that it takes ~48 bits per pixel). For example, you could store 1 additional bit per pixel, set to '1' if all samples of the pixel have the same color and '0' otherwise. Adding this bit allows you to avoid storing the full bitmap for any pixels that have only 1 color, at the cost of 1 additional bit for all pixels with 2+ colors.