There was a tool GedoSato with sources still available on Github, and it allowed to mark shaders or render staged of gamepad and ui by writing their hashes to ini, and then it inject its post processing shaders similar to reshade, but bellow any marked shader or render stage.
Reshade affecting hud was a problem for many years, but this plugin gave me idea that with some tweaking of code it could be used to push all UI and menu layers above reshade.
There are few ways to do it, the gedosato way, which i think is the best, or a hacky way - disable marked shaders, let reshade postprocess clear image, enable shaders back and draw them above and do this every frame. The other similar way - copy separate layer of disabled shaders to framebuffer, disable them, let reshade postprocess, and then mix in as everlay copied shader layers from frambuffer after reshade is done its usual thing, its kind like adding last shader into mix but it should contain hidden UI copied before reshade kicked in.
Possibly this could solve fog problem too. Also with some additional tweaking, separate reshade shader could be pushed bellow some other shader, like for example ambient occlusion bellow fog or other lighting effect.
There was a tool GedoSato with sources still available on Github, and it allowed to mark shaders or render staged of gamepad and ui by writing their hashes to ini, and then it inject its post processing shaders similar to reshade, but bellow any marked shader or render stage.
Reshade affecting hud was a problem for many years, but this plugin gave me idea that with some tweaking of code it could be used to push all UI and menu layers above reshade.
There are few ways to do it, the gedosato way, which i think is the best, or a hacky way - disable marked shaders, let reshade postprocess clear image, enable shaders back and draw them above and do this every frame. The other similar way - copy separate layer of disabled shaders to framebuffer, disable them, let reshade postprocess, and then mix in as everlay copied shader layers from frambuffer after reshade is done its usual thing, its kind like adding last shader into mix but it should contain hidden UI copied before reshade kicked in.
Possibly this could solve fog problem too. Also with some additional tweaking, separate reshade shader could be pushed bellow some other shader, like for example ambient occlusion bellow fog or other lighting effect.