Practical Morphological Anti-Aliasing

It was a year ago when I was talking about games with my big brother. He was telling me how much MSAA was degrading performance in his rig and that he thought that maybe a better solution could be to do some kind of post processing, some sort of blur. By then I believed that it wasn’t possible to obtain anything near to MSAA without resorting to sampling multiple times, that it was impossible. That blurring does just that, blurring, and looks… let’s say… not so good. But now I can see how wrong I was!

It was not much later that we knew of Alexander Reshetov’s MLAA for the first time: this finally opened our eyes (and our mind, btw). Then, we known it was possible to obtain results on par with MSAA with a postprocess. So, what was the problem? It was CPU-based, and a little bit slow to be practical for games. After months of work, we came up with our own GPU-based MLAA, which we called Jimenez’s MLAA.

For those that doesn’t know, MLAA allows to apply high-quality anti-aliasing without needing to resort to multisampled buffers, which is a big advantage in some scenarios, specially for deferred engines. And now MLAA is lighting fast on a GPU! (1180% faster than MSAA in our test rig)

You will find our technique in the GPU Pro 2 book, which can be ordered from Amazon. As the previous series, it comes full of state-of-the-art techniques, so it’s worth every penny spent on it! Also, you can checkout our MLAA project page for more info, including the latest version of the source code.

Project Page