Yup… we absolutely need better AA option(s) since Temporal AA is extremely blurry, especially with moving objects… and FXAA is not good enough until 4K becomes the standard… (but at least it’s way less blurry :p)
I’m not an expert in rendering stuff but is MSAA a no-go for some technical reason (deferred rendering)?
MSAA probably requires you to super-sample all the g-buffer content and thus drastically drag the framerate down. I assume… Not sure how exactly it would work.
It’s a good solution, but if it’s going to be in the engine it’s got to be viable for most platforms too.
I imagine we’ll get MSAA at some point, though - or something on par. There’s also the option right now to get the nVidia Gameworks-builds of the engine, and you could try the new (900-series specific) anti-aliasing that they’ve been working on. It’s specific to the new 970 & 980 cards though IIRC.
You mean it’s expensive in general or specifically in UE4? cause nearly every game I have played recently had MSAA with (relatively) minimal FPS drop (at least at 2x :p).
Too.
I think the engines with deferred shading/render can handle more lights but they have serious problems with masked materials like grass, leaves, hair, fences… SMOKE and particles in general give much more FPS drops than the old engines/games with forward render with particles & masked (or that is what i think) plus the materials with transparency don’t have shadows and the AA have a different way than the forward render.
There’s Pros and Cons to both Forward and Deferred. In this day and age most people go Deferred since it’s much easier to modify and expand, and suits what the current market needs are a bit better. Things like Dynamic Lighting and GI are becoming ever more popular these days as GPU performance increases at a far faster rate than things like memory for lightmaps and suchlike. Certain things like deferred decals etc. just aren’t possible in a forward renderer too. Oh and we get nice reflections too, and faster translucent lighting etc.
Translucency/sorting is the main thing that suffers, along with Aliasing so it seems. A lot of people have complained about TAA’s artefacts. Like different rendering paths though, all of the Anti-Aliasing methods have their own pros and cons.
MSAA is difficult to do well in deferred rendering I believe, because by the time the Aliasing runs the data has already been written to the GBuffer (basically a glorified texture). In a Forward renderer you can read the pixels around the aliased ones and fill in the data based on a number of things, but in deferred that get’s more difficult. I think it’s just too expensive to implement in the Engine, which already has enough bells and whistles going on in it’s renderer.
I don’t like Temporal AA because it makes everything appear out of focus. It really doesn’t like moving cameras from what I’ve seen either. You basically end up with no AA after moving until it re-iterates the samples again in a lot of cases. The ghosting and drastic changes to specularity/bloom is another really big issue. Between the current options of Temporal or FXAA I really just prefer none. But turning off Temporal also guts translucent and a number of other reflections for whatever reason. I don’t know how tied together they are. I would like to just see SMAA but the missing reflections are also an issue.
Our rendering team is aware of the CMAA and other AA processes, but as I have pointed out in other threads in and TheJamsh has pointed out here, it is always an issue of performance. Our team weighs the pros and cons of using a particular method with the technology we already have in the engine. Temporal Supersampling was developed as a middle ground between the FXAA which did not offer a smooth enough and MSAA which caused a massive problem with performance in a Deferred Rendering Environment. A lot of the methodology listed in the CMAA article that Hevedy linked is actually already a part of the Temporal Supersampling process as implemented in UE4. The differences are the algorithms used and the fact that the EGO engine is a Forward rendering engine and not a Deferred Engine like UE4.
All that being said our rendering team is constantly looking for ways to improve the engine as new methodologies and techniques are developed both internally and externally. I would highly recommend everyone take some time and review the Temporal AA powerpoint that Brian Karis gave at Siggraph2014 uploaded on our Resource Page.
I think Temporal AA is unusable, everything is just incredibly blurry and there is so much ghosting. And FXAA does not look good. At the moment I use FXAA because it’s way better than having everything blurred with Temporal AA, but a good alternative is really needed.
After that comments and some check i think the engine need a internal rework more than other temporal AA plus the Temporal AA is an addition to the base AA, and its the base AA who needs the some rework and the Motion Blur.
The AA give material quality problems (Blur) and in the general image.
The Motion Blur give problems too in the sides of the models.
And will be nice to see here some post process effects like:
@Hevedy - You have to be either very smart or very naive to suggest that the engines’ renderer needs improving! It’s already extremely fast.
@ - Thanks for that resource, look like good reading!
@TK-Master - The problem is, it’ll never run as fast as TAA does. I can’t remember if MSAA is smart about which pixels it choose to multi-sample, but I’m betting it’s just a full-screen process. That’s essentially rendering the entire viewport at higher than 4K for anything around MSAA 2, which is just too much work for an engine that already has so much fancy rendering stuff going on.
MSAA is just far too expensive for a Deferred Renderer. IMO the benefits of Deferred rendering far outweigh the issues with AA.
Don’t its a problem about the performance , its a problem about the quality: (Check the weapon texture quality and scene at the right)
And the problems with the foliage shaders and the ghosting.
If your main issue is with ghosting you can set the TXAA to resolve faster using r.PostProcessAAQuality 2. It can be jaggy but it solved most of my issues with fast moving objects.
For Temporal AA, there is a trade off between fill speed of the effect and quality, the higher the value you use. r.PostProcessAAQuality 2 with Temporal AA is fast to settle but jitter caused by the effect will be more pronounced. r.PostProcessAAQuality 4 will settle slower but will not jitter.