Advertisement

CMAA2 - fast & minimally invasive (low blur) post-process anti-aliasing

Started by September 06, 2018 11:17 AM
3 comments, last by qwerty7 6 years, 4 months ago

Hello,

Just wanted to share the link to the latest upgrade for the Conservative Morphological Anti-Aliasing, in case someone is interested. It is a post-process AA technique in the same class of approaches as FXAA & SMAA but focusing on minimizing the input image change - that is, apply as much anti-aliasing as possible while avoiding blurring textures or other sharp features.

Details available on https://software.intel.com/en-us/articles/conservative-morphological-anti-aliasing-20 and full DX11 source code under MIT license available on https://github.com/GameTechDev/CMAA2/ (compute shader implementation, DX12 & Vulkan ports are in the works too!)

Thanks for sharing.

Yet as every single post process AA technique, it does blur the image in the end - this is especially visible on their screenshot in the paper where the shadows are blurred (Fig. 19, top-right image)

No matter how good given post process AA is, whenever I implement the technique with scene that isn't very similar to their reference images, the results are unsatisfying, especially while in motion.

Of course this is my personal opinion, and it may differ for others.

My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com

Advertisement
1 hour ago, Vilem Otte said:

Yet as every single post process AA technique, it does blur the image in the end - this is especially visible on their screenshot in the paper where the shadows are blurred (Fig. 19, top-right image)

That's a bug and a feature of these techniques. In that image, the shadows are aliased. The shadow-mapping has resulted in aliasing in the image that results in a low quality image (compared to a super-sampled ground truth). The post-process AA solution is actually mitigating that flaw in the shadow rendering :)

I appreciate the fact that this article includes signal to noise ratio comparisons against a ground truth image. The worst case for post-process is scenes with deliberately high texture contrast though, which artist's don't want getting blurred. I only skimmed, but I think the article tries to show this with a texture containing text/digits, which is pretty representative of that failure case.

I think post process (image-based) AA techniques can never give improvement that will compete with supersampling (or etc.) and alone provide a fully satisfying AA solution (even the impressive machine learning based approaches that are showing up in the research nowadays). After all you've got is an input image and you're trying to extrapolate missing information and mitigate worst aliasing artifacts - there's only so far you can get without additional subpixel samples (or using rendering approaches that cause less aliasing).

The question (IMO) is whether you can get an improvement that reduces aliasing enough and brings you closer to the ideal case without causing too much damage (and some failure cases can be bad!), at a very low overall execution cost. If so then it's a step up from no AA or can work combined with some form of supersampling (TAA/MSAA) or similar. SMAA (http://www.iryoku.com/smaa/) gives a good real world example (Crysis 2) of implementing post process AA alone (SMAA 1x), mixed with 2x MSAA (SMAA S2x), mixed with 2-sample TAA (SMAA 2Tx) or combining them all (SMAA 4x)!

This topic is closed to new replies.

Advertisement