Anti-Aliasing

Hey!

Does anyone know why Anti-Aliasing options in UE4 are so limited?

Is it that Even turning on FXAA also increases the amount it processes? What if I wanted to set it to only 4x or so?

Dont use FXAA, Temporal AA is better. And here are two console commands to increase/decrease the quality:

r.TemporalAASamples
r.TemporalAASharpness

Temporal AA can be very ugly in some cases, like fast moving objects. I had to switch to FXAA for my game.

Yeah, Temporal AA has it’s problems but it is a must have if you want to get the best of SSR, unfortunately.

Would it be possible to enable temporal AA only on some g-buffer channels and then use FXAA on the final image? I suppose this would require two post proc. AA passes, but it would help with the moving stuff. As it stands now, temporal AA causes some ugly artifacts in the albedo of things like swaying trees and other foliage.

Yea, Neither of them are going to be able to fix my issue. I have a rather thin object that needs to be clearly visible a good distance from the camera. It is pretty much one giant jagged line now. Guess I will just change my camera angle.

Thanks for the info!

Edit: What is ‘SSR’?

Screen-space reflections. Not sure how that really benefits from AA though?

I would not use temporal AA because it causes horrific jittering in the GBuffer, which may or may not be related to the artifacts you’re seeing.

I’m not sure why it affects SSR so much but here are two comparisons with FXAA and Temporal AA;

It looks as if FXAA is either ignoring the skylight or just blurring the reflections way too much.

Interesting, From what I understand FXAA pretty much applies a slight blur to the entire screen. Right?

Well, an algorythm of sorts.

Not sure why there is no MSAA option

We can answer Epic to implement some of these anti aliasing algorithms, it should not be problematic :slight_smile:

I may be wrong, but I don’t think the deferred setup of the engine allows for traditional MSAA.

FXAA is not bad. It uses the rendered image to figure out which pixels are very sharp next to each other and it will sort of apply a blur function only to the aliased pixels. The downside is when you want the sharpness for things like rocky textures. I’m not sure why FXAA looks bad on screenspace reflections, but in the past it was the go-to method for anti aliasing.

No, it doesn’t just blur the whole screen. It detects the edges in the image and then smooths only those edges.

Each AA has different options suited per instance. TAA is used to make textures look smoother transition.

FXAA has an algorithm that searches for edges in the images depth then tries to avoid blurryness and then it smooths each group. The groups are made by pixels that were sorted by depth. FXAA drawback is that it has to be rendered before the screen HUD is rendered or it will blurr the hud too.
So to reply to the above, No it doesn’t simply blur the whole screen or smooth it.

Is the anti-aliasing used in screenshots the same anti-aliasing in game?

I took a screenshot recently and thought the AA quality was really good.

Those screenshots are taken in viewport with real time enabled, so thats how they look in game. And it is a comparison to show the effect of two AA solutions on SSR.

TXAA samples the last few frames to reduce noise and to make a more stable image. Game engines often have filtering, noise, and pixel shimmering, all of which are only reduced with TXAA or super sampling (rendering at a higher resolution and down sampling).

Problem is fast moving things, especially high contrast areas, go noisy with TXAA

If I wanted to render out a video with no aliasing. I could render it at double resolution and then shrink it back down afterwards?

Edit : Let me rephrase that. Would super sampling be the best way to get rid of this effect?