Smoothvision 2.0 - FSAA
ATi calls its implementations of anti-aliasing and anisotropic filtering 'Smoothvision' and Radeon 9700 is equipped with the latest generation Smoothvision 2.0. Unlike its predecessor Radeon 8500, Radeon 9700 uses a multi-sampling technique for its anti-aliasing implementation. Its superior quality and performance is due to a few special techniques. First of all, Radeon 9700 is using patterns of sub-pixel samples for its multi-sampling that are different to NVIDIA's implementation. Below you see ATi's 6x FSAA sample pattern:
ATi is also sampling the Z-buffer values to ensure a better quality FSAA. You get an idea how this is done in the picture above.
ATi is storing the multiple frame samples in the same way as I described for the Z-buffer (Hyper-Z III). The dividing of frame samples into 8x8 pixel blocks allows a lossless compression of the frame buffer as well as Z-buffer blocks across all the different samples (up to 1:24 compression in case all pixel samples carry the same color and Z-value). This technique is able to save a significant amount of memory bandwidth, which is the bottleneck in FSAA. It ensures that the performance impact of FSAA is significantly lower than what we see in other implementations.
Besides the special sample patterns and the Z-buffer sampling, Smoothvision 2.0 comes with another special feature that ensures superior FSAA on Radeon 9700. A patented gamma-correction algorithm ensures that the color gradients generated by the FSAA procedure are displayed as smoothly as they are supposed to be. Most CRTs or flat panels come with a non-linear gamma gradient. ATi's algorithm corrects the non-linear behavior and ensures smooth color gradients.
We had the chance to see a demo of a spokes wheel on Radeon 9700 besides the same wheel on GeForce4, both running at 4x FSAA. It was highly impressive to see how much better this wheel looked on Radeon 9700.