MSAA + Temporal Filter or completely new shader ?

Started by
2 comments, last by FreneticPonE 7 years ago

Hi,
Aliasing is not an easy problem to solve but aliasing destroy the immersion of the player.
One way I saw is to use MSAA + temporal filter, is it the best way actually to go ?
Thanks

Advertisement

Are you using deferred shading or forward?

What resolution is your translucent stuff at?

What are your target platforms?

There are a lot, a LOT of options out there. Anti-aliasing techniques have been super popular of late, and so various people have re-invented the wheel in slightly different ways a dozen times or so for differing scenarios.

Regardless temporal AA is considered the most general "win" regardless of what else you're doing. There's a lot of papers on it but the modern baseline would probably be Epic's presentation here *(High quality temporal super sampling)

Are you using deferred shading or forward?

Actually deferred shading for opaque and forward shading for transparents (all using clustered shading).

What resolution is your translucent stuff at?

Actually the same as the opaque, the screen resolution on a final target after the opaque + SSAO + deferred decals pass.

What are your target platforms?

Actually only Windows, Linux and Mac but I have an Android path but this is more for experimentations actually.

---

Actually I always used FXAA, which is easy to implement with multiple define for the quality based on platform, but the quality is far to be good.
Specular AA using the method from The Order 1886 based on toksvig is of course a big add but the geometric AA + temporal AA is also a needed thing.
We can see with the PBR + IBL + Bloom, you are fast in the flickering hell using low roughness on normal map which is a killer thing for the quality.

Ok then! Well full res transparency will kill your frametime from overdraw. But you can use 4x coverage sample MSAA and programmable sample points ala MJP's awesome blog to get 1/4th the shading rate and relatively the same quality.

For deferred MSAA is generally a no go, it's a big headache and can be a lot of performance to get MSAA and deferred to play nicely. Fortunately SMAA can be combined with good enough temporal AA *(Filmic SMAA) that MSAA isn't totally necessary. For the performance they managed to get it's some work, but the results are very nice.

Finally there's the question of shader AA. Historically edge AA has been the biggest worry, as you were always sampling geometry at a high frequency but not necessarily shading at a high frequency. But today with PBR and HDR and high frequency normal maps and blah blah blah you get fireflies! EG the little white sparkles under the ball here

no_clamp.png

They don't look so bad in stills but they're really annoying in motion. Fortunately temporal AA helps solve this, as does Toksvig filtered normal/roughness mip maps, and they're really cheap. You can get an overview of them either in the Ryse Son of Rome presentation from the link in my previous post or an overview of similar here.

There's also regular SMAA, free and open source and here.

If you're thinking of supporting VR then make note that the artefacts from Temporal AA, while perfectly controllable for non VR games, get magnified under VR. It's still entirely possible to use Temporal AA, but you have to fiddle with it to make it a lot sharper than normal and reduce ghosting as much as possible.

This topic is closed to new replies.

Advertisement