This is a quick question for the graphics devs. As Unity 5 is switching over to a fully deferred renderer, MSAA in its traditional form will no longer work (a problem all deferred engines have had to face). Some engines (Frostbite comes to mind) have found ways of getting deferred MSAA into the engine. So how has this problem been addressed (if it has at all)?
The postprocessing anti-aliasing in Unity 4 is horrible, especially FXAA. It’s one of the largest pitfalls of using deferred over forward rendering in my mind. The best solution seems to be a user made SMAA shader, which smoothens out the edges with minimal blurring, however it is not well optimised and is fairly demanding to use. Will Unity 5 contain deferred MSAA, SMAA, or any improvements to antialiasing in general?
I hope so, good AA really makes a difference. My fingers are crossed
There’s already a bunch of post fx AA in Unity right now. FXAA etc. And these won’t suddenly stop getting used in PS4 and xbox one titles. FXAA is just really fast and decent. It’s not something you replace unless you’re targeting high end desktop tbh.
TXAA and all that’s very well and good, but still not realistic for most retail games out of the box (but as an option, it’s very nice)
CryEngine gets away with deferred rendering and MSAA and Hybrid SMAA with decent post and you don’t get nowhere near the amount of aliasing issues, plus check out the grass :
But the majority of us aren’t developing for consoles, where people are seated metres away from the screen and the blurring isn’t noticeable, we’re talking about inches for PC. Do a search on almost any forum for a popular video game (i.e. Crysis or Skyrim) for a thread about the antialiasing options, and there’s usually a large number of gamers posting about their dislike for FXAA. It’s great as a backup for low end hardware when a better algorithm or real AA isn’t an option, but not for a lot of gamers who want the game to look crisp, clear, and beautiful.
EDIT: Just did some research, it looks like UE4 only has postprocessing AA for now, which doesn’t bode well for us. Frostbite 2+ appears to use a postprocessing technique called SRAA (https://research.nvidia.com/sites/default/files/publications/I3D11.pdf), I wonder if it will be possible to implement into Unity?
Guys n Girls relax by the time Unity 5 rolls out we will all have 4k displays and be looking to purchase 8k ones, who needs Anti-aliasing on a 4k screen!
I know this was probably meant to be sarcastic, but I kind of agree with the sentiment. Hopefully, soon we will render our products on screens that actually represent images better instead of trying to compensate with hacky edge detection image effects to blur edges. Running AA on 300+ PPI screens hardly seems necessary.
Thanks for the article, that was an awesome read. Seems like a combination of SRAA and a good post process shader like SMAA or MLAA is the way to go with a deferred engine. Hopefully Unity will be able to get these in at some point, if not in the 5.0 release.
Making “foliage” move when a character walks through it can actually be done right now in Unity. Check out the “Advanced Foliage” asset on the asset store by Lars. I can’t remember the name exactly. It might not be quite as good as seen in that video, but it’s close to it.
I didn’t know forward rendering mode is discontinued in Unity 5, I think there are still many situations when we need it.
That being said, aliasing is a huge elephant in the dev garage for me, I have to render 3d geometry in MODO and retouch in PS instead of importing directly in Unity because of the broad difference in quality between realtime in Unity and pre-rendered, and that being in forward mode AND with FXAA script. so deffered mode is out of the question for now until maybe we get some AA love from Unity.