20090728 - Morphological AA Part II


This is a follow up to Justin's question on the Morphological Antialiasing Post and more crazy AA ideas.

What I think is most interesting about these types of post filtering techniques, is that it likely might help with things like specular, cubemap, and alpha test aliasing which can be tough to solve using other methods.


Filtering via Fractional Pixel Offset

EDIT. Nope that idea needed a lot of work... so I killed it!
EDIT. Actually, idea is sound, see third post!


Temporal Feedback

I did a prior test on a polygon based renderer in which I only used motion vector based framebuffer reprojection feedback and a little bit of smooth camera breathing motion even when still (as you often get in a FPS) to remove aliasing. Results were promising, but I never did have the opportunity to use it anywhere (yet).

Note, any method which is amortized temporally will require some form of data feedback, which will at a minimum be another RT, and thus be costly like a full screen post pass. Another important thing to note is that under motion the eye won't see over-filtering or noise as much, as long as it converges to a good enough looking sharp but not aliased edge. One could take advantage of noise or excess filtering under motion when temporal feedback likely won't help as much.


Crazy Depth Pre-Pass for AA

Jake Cannell's Deferred Rendering Without MSAA but With MSAA Z Prepass Idea Post talks about doing a 4x MSAA depth only pass, followed by careful (to keep accelerated coarse Z cull working) Z restore at non-MSAA resolution for shading, followed by bilateral up-sample based on MSAA depth for antialiasing. This would be crazy expensive (Z pre-pass with deferred, and bilateral up-sample), but with DX11 CS maybe not as bad.

Could use depth information to compute and X,Y sub-pixel offset instead of the full bilateral up-sample.