We present an algorithm for low-cost hardware antialiasing and transparency.
This technique keeps a central Z value along with Z gradients in the X
and Y dimensions for each fragment within a pixel (hence the name Z3).
It uses a small fixed amount of storage per pixel. If there are more fragments
generated for a pixel than the space available, it merges only as many
fragments as necessary in order to fit in the available per-pixel memory.
The merging occurs on those fragments having the closest Z values.
This combines different fragments from the same surface, resulting in both
storage and processing efficiency.
When operating with opaque surfaces, Z3 can provide superior image quality over sparse supersampling methods that use eight samples per pixel while using storage for only three fragments. Z3 also makes the use of large numbers of samples (e.g., 16) feasible in inexpensive hardware, enabling higher quality images. It is simple to implement because it uses a small fixed number of fragments per pixel.
Z3 can also provide order-independent transparency even if many transparent
surfaces are present. Moreover, unlike the original A-buffer algorithm
it correctly antialiases interpenetrating transparent surfaces because
it has three-dimensional Z information within each pixel.