just screens
NoAA
EdgeBlurEffectNormals from Standart Assets
Sort of MLAA
Nice, MLAA is a very nice technique. Probably better than NFAA. Why ‘sort of’?
Nice work, looks great!
Looks like some texture detail is getting lost in the MLAA example. Is that an artifact of the anti aliasing or just image compression?
defmech
it’s because i now just use luminance difference for detecting edges
Is there anyway to make this available to the public? Awesome technique.
demo with different AA tecnics
413379–14332–$AAtest.zip (378 KB)
I was hoping for something we could use in our projects ;). ,but also can u zip up the html file that goes with that to view your demo.
Any word on you hookn some people up with that mlaa to use in our own projects in the editor?
did u actually make that mlaa? cause i found something like that on these forums just now… which works great… so maybe ur using that and i am just misunderstanding.
There is a HLSL version of MLAA floating around on the net, can’t remember where I found it. I’ve been meaning to port it over but I’m both lazy and very busy. It’s a conversion of the GLSL version released here: http://igm.univ-mlv.fr/~biri/mlaa-gpu/
Might have a crack at it soon - it’s been a while since I’ve done any shader coding tho so I’m procrastinating and hoping that someone else beats me to it and saves me the headache
However, from memory of the demo the HLSL version wasn’t very well optimized, probably better just to wait for these guys to release the source for their implementation as it seem much quicker: http://www.iryokufx.com/mlaa/
Still, MLAA isn’t a “fix all” AA technique - doesn’t deal well with temporal aliasing artefacts. I’ve seen some alternative solutions for MSAA when using Deferred rendering that do a fast geometry depth-only render using MSAA and then sample that for coverage in the deferred scene with fantastic results.
MLAA ON
BTW - Jpg compression has smoothed the image where no MLAA
You can see MLAA (from author) ONLINE here (press Y button то enable or disable MLAA effect)
(Sometime the server can be busy - just refresh the page or press this link again.)
Cameron
I saw their code. My approach is much simpler and faster.
This is all well and good, but has anyone shared the source code of their implementation yet?
Not too keen to keep re-inventing the wheel.
However, I could be wrong but the examples posted here don’t seem to be MLAA. The quality is more like the Normal Filter AA method posted over on the gamedev forums here:
http://www.gamedev.net/community/forums/topic.asp?topic_id=580517
I’ve already implemented a version of that post process AA filter in Unity but MLAA should produce vastly superior results to what I’m seeing here.
So uh, when do we get the code?
for real… I am asking the same question lol… in fact im beggn for it… by the way that other thread with someone elses aa method is right here http://forum.unity3d.com/threads/63330-Better-fake-AA-for-deferred-lighting
This works wonders …
Here’s my NFAA implementation as an fx shader (I’m working in a different engine at the moment):
http://dl.dropbox.com/u/129457/NormalFilterAA.fx
Should be rather trivial to get that running in Unity.
I experimented with something similar to multivac’s version using depth but couldn’t find any situations where that extra z info really helped much as it’s all screen space contrast analysis. I eventually ended up using variable strength/spread and normal clamping to get more aggressive low contrast anti aliasing. I also found working in RGB colour space as opposed to pixel luminance as this tends to provide better contrast for the filter but the trade off is a slight softening of the final composite. I left the original luminance method in there though as the best method to use is very much scene dependant.
I’m thinking some extra processing on the normal map with more traditional edge detection would provide very nice results all-round at the cost of a slightly more expensive shader but I’m not sure if it’d be better just to have a stab at MLAA instead as it would most likely produce much better and crisper results.
Of course, none of this (not even MLAA) solves pixel popping and other temporal aliasing artefacts which is often the most noticeable of all aliasing issues. Still preferable to find a way to do true MSAA in deferred rendering mode.
I’m currently playing around with some custom toon shaders and volumetric cloud stuff so won’t be getting back onto experimenting with AA for the foreseeable future.
I dont want to sound unappreciative, but I know nothing about shaders or porting them over to unity. I have attempted it a while ago and gave up after many days.
Im hoping you or someone could port it over… if not thanks anyway for trying to help.
Aside from that, is your method better then multivacs performance wise? or look wise?
Porting should be dead simple, just use multivac’s version as a base.
Performance wise it should be about the same, perhaps a bit faster as I’m not sampling depth, I’ve never tested how much that slows things down though.
Visually I’m not sure, I had a look at what he was doing with depth and experimented with it for a while but honestly couldn’t see any benefit to it. The scenes I was trying to remove aliasing from were fairly low contrast and had a lot of aliasing between contrasting colours of a similar luminance. My approach is basically the same but more aggressive in finding colour contrast, the down side is that this tends to soften the textures overall as a result but my game is very cartoony with lots of soft details so the trade off was worth it.
I’m sure someone will implement true MLAA at some point and we’ll all just jump on that anyway.