This is a tool for illustrating the various types of aliasing which can occur in computer graphics, and how many common methods of anti-aliasing interact with them. I wrote it to accompany an article which will be published some time in the future, and which contains a rather detailed treatment of the topics of aliasing and anti-aliasing.
A main point is to also show aliasing (that is, flickering and image instability) in motion, which is insufficiently captured by the common screenshot or (compressed) video comparisons.
There are 6 types of aliasing shown (transparency aliasing, geometry aliasing (2D and 3D), sub-pixel aliasing, texture aliasing and shader aliasing), and many methods of anti-aliasing are available.
- 4x MSAA
multisampling, generally sparse grid
- 2×2 OGSSAA
ordered grid supersampling with 4 samples
- 4x SSAA
turns the 4 multisamples into supersamples, thus 4x SGSSAA on most HW
just post-processing, see sub-pixel effects
as above (note better motion stability)
- 1.5×1.5 OGSSAA + SMAA
similar to what can be achieved via injection in most games, often decently playable
maximum number of SGSSAA samples plus 2×2 OGSSAA. Close to the “ground truth”, that is the perfect representation of the scene on the pixel grid
Let me know if anything breaks. I do know that the PXAA and TPXAA PPAA methods don’t work on AMD, if anyone wants to help fix it (and has the time) contact me and provide some means of synchronous communication (e.g. Steam ID).
Source code release soon.
(If you encounter an error about missing some .dll when running the program, get the Microsoft C++ redistributable here)
(Edit 2014-1-14: updated to fix an issue which could occur with some AMD drivers)