Temporal Anti-Aliasing

Temporal AntiAliasing.

Hi everyone, for the past few months we have been working on an Temporal Anti Aliasing solution for Unity. Temporal anti aliasing is a modern form of antialiasing that uses previous frames data to infer more about edge and highlight information. We first showed the TAA in the Adam demo and it made it look really great!

TAA required a few changes to the core of Unity for it to be supported in the engine (specifically motion vectors and some surrounding support), in 5.4 we have added this functionality and implemented a version TAA. This will also allow us to ship a really great motion blur quite soon also.

If you are curious about the technical side of things you can read about some general TAA things here: Temporal supersampling and antialiasing | Bart Wronski

You can get the new TAA from here:
https://bitbucket.org/Unity-Technologies/cinematic-image-effects/branch/taa
This branch also contains the latest version of our other effects.

You will need Unity 5.4b22 for this to work properly. Here are some images showing how this looks for us. NOTE: You will need to enlarge the images too see the difference.

Click this link to see before and after.



Let us know how it goes for you!

15 Likes

You should do a view to showcase the REAL benefits of temporal AA. also, some numbers to compare the performance of these to the FXAA and other solutions would be awesome.

Looks awesome, thank you for sharing!

Would TAA be useful for VR? In other words: Does it not impact performance too severely for typical VR games, and does it address the specific issues you’re facing with non-AA’ed scenes in VR?

As flickering is one of the issues that’s super-annoying in VR, it seems like TAA might be a perfect fit for VR. I’m just concerned about the performance hit.

Enabling Temporal (Experimental) makes me see vertically mirrored jittering ghosts of the scene objects.

Any plans to implement a project wide texture mip bias to handle the texture over blurring of TAA?

This is MSAA, not temporal AA. you need the scripts linked from the original post.

Must. Try. ASAP.

Note: We just discovered a weird issue on OSX. We’ll have a fix as soon as we can, still feel free to try it there, it’s just a little more blurry than it should be.

Great results, cheers !

Pushed a fix for this. Latest version should be good on all platforms.

I downloaded the repo from BitBucket and used the AntiAliasing script from CinematicEffects(ALPHA)/AntiAliasing. What am I doing wrong?

You need the Temporal Anti Aliasing script. Make sure you click the link in the original post as it’s only on the TAA branch of the repository.

Whoops, thanks a lot!

Edit: Right, it seems downloading the repo just gives you the main branch, I guess I need to setup Mercurial.

Click on download, click on branches, click on “zip” next to taa

1 Like

Turn out I’m very stupid, thanks!

Nah, it’s just really confusing.

1 Like

So, some people asked for comparison with FXAA/SMAA… This is what it looks like on a specular-heavy scene (worst case scenario for AA) :

(Album link)




(Album link)

FXAA and SMAA tend to work well on non-HDR scenes without too many specular highlights, but in this case TAA helps a lot. That said, TAA is still under heavy development so keep an eye on the repository for updates !

4 Likes

Also TAA advantages become really apparent when the scene is in motion and you have crawling edges and small speculars (normally caused by high frequency PBR materials).

Here is a video where I toggle the TAA on and off. Please turn to 1080p to see the difference.

At about 40 seconds in the video jitters a little bit, that just my terrible capture.

4 Likes

Hi,
I just have a simple question, is this working only with forward renderring or deferred is supported?

Both are supported. We haven’t tested forward / MSAA yet, it might be a little weird.