Marty McFly's Ambient Obscurance (MXAO) with IL

  • Marty McFly
  • Topic Author
More
8 years 3 weeks ago - 7 years 2 months ago #1 by Marty McFly Marty McFly's Ambient Obscurance (MXAO) with IL was created by Marty McFly
[img
MXAO 2.0 Release Image by Pascal Gilcher , auf Flickr

Overview

MXAO is a SSAO algorithm designed to be the perfect replacement for faulty AO implementations in modern games. To spice things up, it can also calculate Indirect Lighting. The performance and scalability allows almost GI-like scenes in some cases. Most noteable features are:

1. Scalability. It can both apply little shading almost for free or heavy shading for screenshots to completely change the look of the scenery. At low settings, its fps drop is not noticeable on GPU's like GTX 970 where HBAO+ or similiar algorithms dip the fps quite a bit. I managed to get 60 fps on a GT920.
2. To reduce the amount of needed post-blur, MXAO uses a non-random sampling distribution. Instead, it uses a 16x16 bayer matrix as distribution lookup combined with a fine-tuned algorithm to improve variance.
A lot of AO implementations reduce their effective sample count because many samples land on the same positions so the result is way more noisy than on other implementations with the same sample count. Due to the nature of the bayer matrix, the resulting pattern needs a lot less blur for completely smooth shades. (64 samples: 3 pixels radius for bayer, 8+ pixels radius for randomized samples).
3. The robust implementation allows for very wide-range AO with little decrease in performance due to minimum cache trashing. Again, a lot of AO shaders perform fairly fast for moderate sampling ranges but kill the performance for wide-range sampling. This is one of the most noteable features of the ENBSeries AO.
4. Reliable even with bad input data. Alchemy SAO for example needs very accurate linearizing function to function properly, while algorithms such as the Crysis SSAO run on almost everything. MXAO performs likewise.

Complete documentation PDF included in file.

Download

1.0r (mediafire)
1.1r (mediafire)
1.5.7r (pastebin)
2.0 (mediafire)(ReShade 3.0)
Last edit: 7 years 2 months ago by Marty McFly.
The following user(s) said Thank You: crosire, aufkrawall, Wicked Sick, matsilagi, CeeJay.dk, NattyDread, robgrab, Midhras, MaxG3D, SpinelessJelly and 38 other people also said thanks.
The topic has been locked.
  • Marty McFly
  • Topic Author
More
8 years 3 weeks ago #2 by Marty McFly Replied by Marty McFly on topic Marty McFly's Ambient Obscurance (MXAO) with IL
Feedback?
The following user(s) said Thank You: sanskyer
The topic has been locked.
  • robgrab
More
8 years 3 weeks ago - 8 years 3 weeks ago #3 by robgrab Replied by robgrab on topic Marty McFly's Ambient Obscurance (MXAO) with IL
Just downloaded it. How do I install it? Do I use one of the older Reshade dlls or does it work with Reshade 2.0?
Last edit: 8 years 3 weeks ago by robgrab.
The topic has been locked.
  • crosire
More
8 years 3 weeks ago #4 by crosire Replied by crosire on topic Marty McFly's Ambient Obscurance (MXAO) with IL

robgrab wrote: Just downloaded it. How do I install it? Do I use one of the older Reshade dlls or does it work with Reshade 2.0?

Remove all shader files and install this one instead. Does not matter which ReShade version you are using.
The following user(s) said Thank You: robgrab, Marty McFly
The topic has been locked.
  • aufkrawall
More
8 years 3 weeks ago #5 by aufkrawall Replied by aufkrawall on topic Marty McFly's Ambient Obscurance (MXAO) with IL
Fantastic job, Marty!
The AO looks very believable and is very clean in both still image and in motion.

Tested it in BF4:
[img
[img


Performance is totally ok as well.

Only thing I had to change was to set #define fMXAONormalBias to 0.4 to avoid some stripe pattern shimmering for some areas in motion.

I hope some game developers will notice this and maybe help them to implement better SSAO solutions by themselves.
The following user(s) said Thank You: Marty McFly
The topic has been locked.
  • Crystrex
More
8 years 3 weeks ago - 8 years 3 weeks ago #6 by Crystrex Replied by Crystrex on topic Marty McFly's Ambient Obscurance (MXAO) with IL
Thanks for your work!
I'm just amazed how flexible config that helps to tweak a shader.
Have some questions:
Warning: Spoiler!


There are tweaked version of MXAO. I have stable >30 FPS in Warframe.
My PC: 2.3ghz + geforce 525m
Screenshoots:
Warning: Spoiler!

Config:
Warning: Spoiler!
Last edit: 8 years 3 weeks ago by Crystrex.
The topic has been locked.
  • Marty McFly
  • Topic Author
More
8 years 3 weeks ago #7 by Marty McFly Replied by Marty McFly on topic Marty McFly's Ambient Obscurance (MXAO) with IL
I kicked that out, didn't look good in all cases.
And why on earth did you set blur sharpness to 0.0? That defeats the whole idea of depth aware blur. Also, why setting the normal bias to 0? That is exactly there to cover artifacts like those I see in your screenshot. If you want stronger AO, raise the AO amount but don't lower normal bias to below 0.2.
The following user(s) said Thank You: jas01
The topic has been locked.
  • WLHM15
More
8 years 3 weeks ago #8 by WLHM15 Replied by WLHM15 on topic Marty McFly's Ambient Obscurance (MXAO) with IL

There's a way to do it better, find it - Thomas A. Edison


This is really a awesome work,
I just tested it, at Call of Duty : Modern Warfare 2 Game.
With ReShade 2.0 .dll, no color correction and no AA (really sucks :silly: ). Just single shader, tweaked and run..

Here the result.
Warning: Spoiler!


Warning: Spoiler!


The quality is amazing, it do so well, no more blurry screen.
The performance is really great, it run more fps than HBAO or Alchemy SAO in same quality. And IL make the fps drop, but not to much.
The topic has been locked.
  • Crystrex
More
8 years 3 weeks ago #9 by Crystrex Replied by Crystrex on topic Marty McFly's Ambient Obscurance (MXAO) with IL
Thank for answer. The idea was to maximize FPS with any methods. For my eye, without debug mode i cannot see big difference between default sharper AO and 0.00. But fps drop around 5-10.
I'm continue to experimenting and fix this values.
The topic has been locked.
  • kanuuna
More
8 years 3 weeks ago #10 by kanuuna Replied by kanuuna on topic Marty McFly's Ambient Obscurance (MXAO) with IL
Pardon the aliasing, but I thought I'd post my results. I felt like downloading Crysis just for this.
Warning: Spoiler!

ON

Warning: Spoiler!

OFF

Really clean work. This is impressive.
The following user(s) said Thank You: aufkrawall
The topic has been locked.
  • GroinShooter
More
8 years 3 weeks ago - 8 years 3 weeks ago #11 by GroinShooter Replied by GroinShooter on topic Marty McFly's Ambient Obscurance (MXAO) with IL
Just tested and damn it looks good, but sadly only in still images and when no fog/smoke/windows are around. The problem is severe bleeding, which can be seen in a couple of shots here already. Bleeding makes all of these fancy AO techniques unusable for normal gameplay imo, is there no way to get rid of it completely or even make it far less noticeable?
Last edit: 8 years 3 weeks ago by GroinShooter.
The topic has been locked.
  • roxahris
More
8 years 3 weeks ago - 8 years 3 weeks ago #12 by roxahris Replied by roxahris on topic Marty McFly's Ambient Obscurance (MXAO) with IL
This is incredible! It looks fantastic in almost everything I've tried it in and, thus far, supersedes every other option available for injection.
To follow on with the screenshot parade, here is a shot of the original Final Fantasy XIV . I'm stunned!
Last edit: 8 years 3 weeks ago by roxahris.
The topic has been locked.
  • aufkrawall
More
8 years 3 weeks ago #13 by aufkrawall Replied by aufkrawall on topic Marty McFly's Ambient Obscurance (MXAO) with IL

kanuuna wrote: Pardon the aliasing, but I thought I'd post my results. I felt like downloading Crysis just for this.

Impressive demonstration!
The topic has been locked.
  • Marty McFly
  • Topic Author
More
8 years 3 weeks ago #14 by Marty McFly Replied by Marty McFly on topic Marty McFly's Ambient Obscurance (MXAO) with IL

GroinShooter wrote: Just tested and damn it looks good, but sadly only in still images and when no fog/smoke/windows are around. The problem is severe bleeding, which can be seen in a couple of shots here already. Bleeding makes all of these fancy AO techniques unusable for normal gameplay imo, is there no way to get rid of it completely or even make it far less noticeable?


Absolutely not. In regular engines, this is done by rendering AO etc before transparent objects or particles. As we can't do it and most of the effects don't differ in their color information from the surrounding environment, there is no possibility to separate those. Just because our eyes can distinguish between this doesn't mean an algorithm can. If I could write something on that level of content awareness, I'd sell it to the military and they would buy it. However I proposed some possibility to find out these areas by checking depth and color info. Most area with fog /smoke have largely same colors but their depth info is highly different (because the objects behind it are not flat) but that won't work in all cases.
The following user(s) said Thank You: GroinShooter
The topic has been locked.
  • roxahris
More
8 years 3 weeks ago #15 by roxahris Replied by roxahris on topic Marty McFly's Ambient Obscurance (MXAO) with IL
I think GeDoSaTo implemented a function to let the user define a specific stage of the rendering process (i.e. before transparencies and the UI) at which an AO shader would be applied. However, that would require porting the shader over, which is both a fair amount of work (it's probably not as extensible as ReShade), and would have to be allowed by the license.
The topic has been locked.
  • NotAgOat
More
8 years 3 weeks ago - 8 years 3 weeks ago #16 by NotAgOat Replied by NotAgOat on topic Marty McFly's Ambient Obscurance (MXAO) with IL
I replaced the default reshade.fx in the reshade folder with this one. I do not see the effect in the effects panel. Am I installing this incorrectly?

Why is this replacing default files anyway? Why not add new effects to marty's shader folder?
Last edit: 8 years 3 weeks ago by NotAgOat.
The topic has been locked.
  • crosire
More
8 years 3 weeks ago - 8 years 3 weeks ago #17 by crosire Replied by crosire on topic Marty McFly's Ambient Obscurance (MXAO) with IL
This is a fully standalone effect currently and cannot be used with the rest together (by default), nor can it be used with the assistant tool.
Last edit: 8 years 3 weeks ago by crosire.
The topic has been locked.
  • Marty McFly
  • Topic Author
More
8 years 3 weeks ago - 8 years 3 weeks ago #18 by Marty McFly Replied by Marty McFly on topic Marty McFly's Ambient Obscurance (MXAO) with IL

NotAgOat wrote: I replaced the default reshade.fx in the reshade folder with this one. I do not see the effect in the effects panel. Am I installing this incorrectly?

Why is this replacing default files anyway? Why not add new effects to marty's shader folder?


So people can test it before I integrate it in the Framework. When I do that, I' have to rewrite all the other AO shaders as well so this is a bigger bunch of work as I'm willing to do atm.
Last edit: 8 years 3 weeks ago by Marty McFly.
The following user(s) said Thank You: acknowledge
The topic has been locked.
  • NotAgOat
More
8 years 3 weeks ago #19 by NotAgOat Replied by NotAgOat on topic Marty McFly's Ambient Obscurance (MXAO) with IL
Oh, I see. Thanks.
The topic has been locked.
  • Boulotaur2024
More
8 years 3 weeks ago - 8 years 3 weeks ago #20 by Boulotaur2024 Replied by Boulotaur2024 on topic Marty McFly's Ambient Obscurance (MXAO) with IL


MXAO : fMXAOSampleRadius = 18, iMXAOSampleCount = 255
abload.de/img/deadislandgame_x86_rw2ypdr.png [

HBAO in GeDoSaTo ( Link )
abload.de/img/screenshot_2014-10-28w3po8.png

The brightness difference is irrelevant of course but I think the latter occludes the near objects a bit better than MXAO (see the shadows under close rocks) with less self-occlusion. While MXAO does a slightly better job for distanct objects.
Nothing that couldn't be fixed by tweaking a near plane parameter I guess... If it existed because I don't think you included a way to tweak it. I could only see a farZ one.

Other than that the performance is great !
In that last shot that I took way back in 2014 I remember the fps was crawling in the 10 fps (there was downsampling in the mix but even without it would kill the framerate with HBAO maxed out) while MXAO is performing really nicely even at high settings (the bayer pattern trick I guess)
Last edit: 8 years 3 weeks ago by Boulotaur2024.
The following user(s) said Thank You: Marty McFly
The topic has been locked.
We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.