Game Development Reference
Conclusion and Future Work
We have presented an effective analytical antialiasing technique offering high-
quality edge antialiasing at a reasonable cost and relatively straightforward engine
integration. However, there are several areas on which future work could improve.
The resolve pass is very texture fetch heavy. As shown by the profile and
through the gains of DX10.1 optimization, this is a major bottleneck for this
technique. Given that all samples are refetched for multiple neighboring pixels,
this is a prime candidate for compute shader optimization, trading some increase
in ALU for a significant reduction in texture fetches by sharing samples. It is
likely that this would result in a moderate performance improvement over the
Better ways to generate the second-depth values would be desirable to avoid
the need for a complete pre-Z pass. Alternatively, an approach worth studying is
combining the crease solution from this technique with other methods for silhou-
ette edges, such as, for instance, geometry post-process antialiasing (GPAA). 2
This would eliminate the need for the second depth buffer. Meanwhile the num-
ber of silhouette edges in a typical scene is relatively low, so the line rasterization
overhead of GPAA should stay at a reasonable level.
This technique may lose its effectiveness when using very dense geometry
where neighboring pixels typically come from different primitives. This is be-
cause the implementation presented in this article computes depth slopes from
differences between neighboring depth values. A different approach might be to
store gradients along with the depth values. This way the resolve shader would
not require sampling any neighboring pixels and should be able to cope better
with very dense geometry, at the expense of additional storage and output over-
head. On the other hand, the resolve shader would likely run faster.
[Reshetov 09] Alexander Reshetov. “Morphological Antialiasing.” Preprint, 2009.
(Available at http://visual-computing.intel-research.net/publications/papers/
[Jimenez et al. 11] Jorge Jimenez, Belen Masia, Jose I. Echevarria, Fernando
Navarro, and Diego Gutierrez. “Practical Morphological Antialiasing.” In GPU
Pro 2 , edited by Wolfgang Engel, pp. 95-114. Natick, MA: A K Peters, Ltd.,
2 GPAA works by drawing lines over the edges in the scene and filtering the pixels under
the lines. The line equation is used to compute the distance from the pixel center to the line,
and this is then converted to a coverage value for the neighboring surface. If the line is mostly
horizontal, it will blend pixels with vertical neighbors and vice versa.