ThirteenAG / GTAIV.EFLC.FusionFix

This project aims to fix or address some issues in Grand Theft Auto IV: The Complete Edition
GNU General Public License v3.0
909 stars 42 forks source link

[Feature Suggestion] GTAO (Not GTA Online lol) #511

Closed juicermv closed 1 week ago

juicermv commented 1 month ago

What should happen

With recent updates we now have WIP SSAO, I think it would be nice if the SSAO implementation we ended up with was GTAO since it's the most accurate currently. GTAO is also what's used in MartyMcfly's MXAO and DS2 Lighting Engine (which is a mod that completely overhauls Dark Souls 2's rendering pipeline and graphics.)

Checklist

RecklessGlue540 commented 1 month ago

I mean, RaphaelK already said he might consider implementing HBAO or HDAO if he gets the main SSAO working first... From a quick read on the net, GTAO seems to work on DX12 and higher shader model versions, but I can't confirm totally. Even if it might be possible to backport to DX9, I think having HBAO and HDAO both, or even just one of these as additional options over the normal SSAO would suffice.

As we've seen with the PCSS removal (which is sad really), poor game just can't really take much anymore.

juicermv commented 1 month ago

GTAO definitely works on earlier shadermodel versions. I listed two examples already, MXAO works on DX9 and DS2 Lighting Engine is DX11. I don't believe the issues with PCSS are things that would affect the implementation of GTAO either tbh, but I don't know. I hope this is possible because it would be really nice.

juicermv commented 1 month ago

And btw, if the FusionFix team manages to hook the DirectX code to the point of device creation (something DS2LE does), it is possible to utilize dx9on12, which creates a hybrid DX9 device on top of DX12 which can handle both DX9 and DX12 commands. dxwrapper already does this too, although it has some issues.

juicermv commented 1 month ago

GTAO can also be used for SSGI... might be interesting

Void48 commented 1 week ago

It would certainly be interesting. Good luck to the devs who'll attempt to add this feature! :shipit: