I wondered whether NVidia could do something like CrossFire SuperAA, so I made a few test images. ATI has the clear advantage of supporting up to 6xMSAA per card and a programmable sample pattern on a 12x12 grid, which is necessary for optimal placement with SuperAA. But between 8xS with an EER of 4x8 and OGSS, and ATI's "10x" SuperAA mode, there seems to be some room for improvement.
One problem with NVidia's non-programmable pattern is that if you move the texture samples more than half a pixel away from each other, the sample pattern overall gets larger than a pixel and will therefore result in a slight "blur". But since these are only geometry samples reaching "into another pixel", this slight blur is restricted to polygon edges only, not textures.
I've tried a few different combinations of sample patterns. Those images were rendered on a Radeon 9600 with 4xAA enabled. I made two images with slightly shifted geometry and blended them together with PSP. Compared to NV4x, the sampling pattern is mirrored – which makes practically no difference – and the downsampling is gamma-adjusted – which certainly makes a difference. So the images would usually look a bit worse on an NVidia card, depending on your preferred gamma settings.
The outer edge is a polygon edge, the inner edge is done with alpha test. On the left side, you see the proposed sampling pattern, on the right side there's a 4x zoomed view of the two corners.
4x MSAA for reference:
Shift by 1/8 pixel horizontally and vertically. No blurring, all samples are inside the grey dotted pixel border. EER is 8x8. Supersampling only has a small effect.
Shift by 1/4 pixel horizontally and vertically. Slight blurring, some samples are on the grey dotted pixel border. EER is 4x4, therefore not recommended.
Shift by 3/8 pixel horizontally and vertically. Slight edge blurring, some samples are outside the grey dotted pixel border. EER is 8x8. Supersampling effect is acceptable.
Shift by 1/2 pixel horizontally and vertically. visible blurring. EER is 4x4 only, but sparse grid supersampling.
Shift by 1/8 pixel horizontally and 3/8 pixel vertically. Only slight vertical blurring. EER is 8x8. Supersampling effect is close to 1x2 OG.
Similar to the former, but shifted 3/8 pixel horizontally and 1/8 pixel vertically. Same EER, but the pattern is a bit worse.
Which is best, and do you think it would be an improvement over 8xS?
One problem with NVidia's non-programmable pattern is that if you move the texture samples more than half a pixel away from each other, the sample pattern overall gets larger than a pixel and will therefore result in a slight "blur". But since these are only geometry samples reaching "into another pixel", this slight blur is restricted to polygon edges only, not textures.
I've tried a few different combinations of sample patterns. Those images were rendered on a Radeon 9600 with 4xAA enabled. I made two images with slightly shifted geometry and blended them together with PSP. Compared to NV4x, the sampling pattern is mirrored – which makes practically no difference – and the downsampling is gamma-adjusted – which certainly makes a difference. So the images would usually look a bit worse on an NVidia card, depending on your preferred gamma settings.
The outer edge is a polygon edge, the inner edge is done with alpha test. On the left side, you see the proposed sampling pattern, on the right side there's a 4x zoomed view of the two corners.
4x MSAA for reference:
Shift by 1/8 pixel horizontally and vertically. No blurring, all samples are inside the grey dotted pixel border. EER is 8x8. Supersampling only has a small effect.
Shift by 1/4 pixel horizontally and vertically. Slight blurring, some samples are on the grey dotted pixel border. EER is 4x4, therefore not recommended.
Shift by 3/8 pixel horizontally and vertically. Slight edge blurring, some samples are outside the grey dotted pixel border. EER is 8x8. Supersampling effect is acceptable.
Shift by 1/2 pixel horizontally and vertically. visible blurring. EER is 4x4 only, but sparse grid supersampling.
Shift by 1/8 pixel horizontally and 3/8 pixel vertically. Only slight vertical blurring. EER is 8x8. Supersampling effect is close to 1x2 OG.
Similar to the former, but shifted 3/8 pixel horizontally and 1/8 pixel vertically. Same EER, but the pattern is a bit worse.
Which is best, and do you think it would be an improvement over 8xS?