SAA on PS2
Sony's Playstation 2 has hardware, which can perform high quality edge anti-aliasing on each rendered primitive. However, the sort dependent requirement makes this method undesirable for many games. Fortunately, the following alternative methods can be implemented to achieve sort independent FSAA.
5.1 Regular Supersampling
As an example, regular 2X2 supersampling can be performed by rendering 1024x448x16bit to an off screen buffer and then downsampling this to 512x224x16bit. By setting the off screen buffer as a texture and rendering this with a bilinear filtered sprite onto the frame buffer. This can be completed during the vertical retrace and so avoids this form of flickering when the frame buffer is always visible. When rendering at 60hz half-pixel offsets can be applied on alternate frames to achieve a supersampled interlaced resolution of 512x448x16bit.
However, as scanlines are interleaved, the filter draws samples in a non-regular way. This effect can be undesirable. Rendering in non-interlaced mode halves the vertical resolution and increasing the resolution to 1024x896x16bit is rather impractical with 4MBytes of VRAM available.
5.2 Frame Buffer Filtering with Sprites
A variant of the above technique uses equally sized buffers to render the frame with bi-linear filtering applied. Although this doesnt anti-alias the image it generates sufficient blending overlap between scanlines on alternate frames to avoid the interlace flicker problem.
Both these methods can be optimized by splitting the source and destination buffers into vertical tiles appropriate for the horizontal cache size, thus, avoiding page misses.
5.3 Frame Buffer Accumulation Method
In a similar way to the accumulation buffer method [6], the frame buffer can be used to blend a series of offset images. In this case, the sprite is rendered multiple times with alpha to generate a filtered image. Due to the extra layers rendered this method is slightly slower than the previous one.
5.4 Emotion Engine Filtering Method
To perform customised filtering and image processing the render target can be downloaded to RAM, processed with the emotion engines multi-media instructions and then return to VRAM for viewing. Clearly, this is the slowest of the techniques described and its use is limited. It is, however, a very flexible technique with the ability to bring to bear arbitrary image processing.
5.5 Merge Circuit Method
This method sets up equally sized buffers and uses the PS2s merge circuit hardware to blend between frames at 60hz with no performance degradation. This makes the dual circuit method the best chioce for most games. Although the merge circuit method is fastest, the idea of using a render buffer as a texture in the other methods is a powerful one and leads to many interesting special effects.