Marty McFly's Ambient Obscurance (MXAO) with IL
- genstar
Marty McFly wrote: Official 2.0 release:
www.mediafire.com/?yel16jzol4hhkhd
please can you share mxao 2.0, backward compatible with previous versions of Reshade 3.0?
- Marty McFly
- Topic Author
- Marty McFly
- Topic Author
ivanosky wrote: Yes, performance was degraded. In previous version I used fMXAOSizeScale=0.777 and sample count=16 and I could even enable IL. Now with sample count=8 I am getting worse performance with only AO enabled.
Well, tbh, I didn't expect anyone to need it as it degrades quality a LOT, but I can reimplement it though if needed.
- ivanosky
- Exilium
ivanosky wrote: Yes, performance was degraded. In previous version I used fMXAOSizeScale=0.777 and sample count=16 and I could even enable IL. Now with sample count=8 I am getting worse performance with only AO enabled.
That guy sucks, the performance has simply improved by 70%! I ran a test, and it's running on a 64MB integrated graphics card! The previous versions did not even open it! Look for other settings for the expensive MXAO, but do not come to say that the performance has worsened in any way!
- Marty McFly
- Topic Author
- ivanosky
Exilium wrote: That guy sucks, the performance has simply improved by 70%! I ran a test, and it's running on a 64MB integrated graphics card! The previous versions did not even open it! Look for other settings for the expensive MXAO, but do not come to say that the performance has worsened in any way!
Dude, there's no need to attack me, you can politely disagree with me without resorting to that. I'm sure that full screen performance has improved in MXAO 2. I'm just saying that I can't run it in full screen and get the FPS that I am aiming for. With the variable that was present in the previous versions I could increase performance by lowering the resolution in which the AO was computed.
- ivanosky
Marty McFly wrote: He can be right though. A size scale of 0.777 means that about 60% of the screen pixels are computed, that linearly translates to 40% less fps hit (to be exact a bit less as blur etc run in fullscreen). MXAO 2 might be faster than old code but with these settings, the old MXAO should be equally fast or even faster. Can't exactly imagine that there's a big difference but it's within the realm of possibilities. Anyways, I'll just swiftly reintroduce the feature and whoever needs it, can enable it.
I just tried messing with the settings in MXAO 2 and noticed that what's tanking my performance is the smoothed normals. I disabled it and I'm getting very good FPSs, even better than with previous versions. I'm sorry for the previous report.
- Exilium
By the way, are you going to do an update on DOF? Dude, I'm waiting for you to come back with the option to control the brightness of the lights in Matso DOF, I do not know why it was removed.
- Marty McFly
- Topic Author
Will still reintroduce MXAO size scale factor, who knows, maybe someone needs it.
- GP-Unity
Only 8 samples and 1 blur step used. Backface check disabled. Normal map smoothing enabled. Without MXAO, game runs at around 80fps. Drops to around 60fps with MXAO. To anyone wondering why i keep in-game AO enabled, i simply prefer the combined look. MXAO fade end is set a bit low, so indirect lighting only applies at a closer range.
MXAO disabled:
i.imgur.com/nsAmZRt.jpg
MXAO debug:
i.imgur.com/trFxGR8.png
MXAO enabled:
i.imgur.com/5MI3ANI.jpg
I've tested all versions of MXAO over time, and MXAO 2.0 seems like a significant improvement. Have tested it in a few games so far. Can't tell for certain if you improved the indirect lighting implementation, as it surely seems better to me. Would be a bit convenient though if indirect lighting could be enabled in Reshade's interface. Would love to see two separate sample radius options made though. One for AO and one for GI. MXAO 2.0 is definitely phenomenal as is though, and i can say with confidence that this version of MXAO beats HBAO+.
- Marty McFly
- Topic Author
Would be a bit convenient though if indirect lighting could be enabled in Reshade's interface.
I can't - due to a driver bug. All code improvements in AO pass make the game crash on DX10 and DX11 which shouldn't happen at all, either shader compiles or not, but not kill the application. Crosire nailed it down to the driver (so it's nothing ReShade causes or can fix). With the current setup I additionally sped up AO without IL so it'll stay this way. You can however add IL to preprocessor section as illustrated in the paper, so you have a semi-realtime switch.
Separate IL and AO radii are not possible. An algorithm that calculates IL has to calculate how a sampled geometry can spread color to the center - by calculating the occlusion. So any IL code calculates AO along the way. In order to have 2 different radii for these effects, I'd need
- IL(radius 1)
- AO for IL (radius 1, discarded)
- AO(radius 2)
that means AO generation would have to run twice, further lowering performance.
- GP-Unity
The fps cost is not at all bad, we're looking at a great graphical upgrade even vs VXAO, which is demanding and doesn't add global illumination. I'm surprised if there is more performance to be gained. Been fiddling with MXAO 2.0 when i've had the time to and i do love the results and no upgrades are necessary, but i have another suggestion anyway mainly because AO/GI are my favorite effects and i love seeing how far they can make games go as there is a lot of potential.
Is an indirect lighting brightness cap possible? I can get pretty dim light bouncing in some areas, and bright light bouncing in other areas in comparison regardless of backface check. Increasing the brightness for dimmer light bounces of course causes the brighter light bounces to go a bit too far in their brightness level. A brightness cap i believe would serve to allow more consistent global illumination.
- Marty McFly
- Topic Author
- Sunesha
I often use driver infused HBAO+ which you can enforce in many games with help of the NVIDIA profile inspector. Often where Reshade can't find any depth info I can still force this. Will probaly still due even if quality is lower in those game that has a lot fog
- Dazaster
- ShoterXX
Didn't come without issues though.
I've tried fiddling with settings to see if I could make it less "poly-blocky", but the only way I found would just make it so blurry it looked horrible. I don't remember having this issue with the previous version, not this obvious, atleast. It looks OK when it's further away though.
Also, since I run a 9xDSR equivalent on this game (for AA purposes), I used to use 0.333 resolution on the older version (effectively making it 1:1 with my screen). It didn't do great before, but now it tanks even harder at lower settings. Even with said 9xDSR, it kept solid 60s with no MXAO, but once its on, drops below 20s. The older version would be around 20s/30s.
Lastly, it keeps picking up bits of the HUD for IL, even with back face check enabled (think it happens more often with higher sample radius) , and tends to leave a dark "aura" behind my character.
Also, do you plan to release a ReShade 2.0.x version? Or do you mind if anyone else ports it?
- Marty McFly
- Topic Author
- ShoterXX
- Marty McFly
- Topic Author
Smoothed normals can only do so much, if I set the threshold for blurring the normal lower, I lose detail. However I wonder why those polygons didn't get smoothed.
Also, your settings produce low fps with effects like AO, that's no surprise at all. AO is pixel count heavy, so using insane settings like yours, the fps are to be expected
And the fact that it picks up the HUD - well, that happens with every ReShade effects, nothing to be done here, sadly.