Realspace wrote: ↑Thu, 17. Apr 25, 18:25
But reshade is applied as a superimposed layer, which btw affects also the map's graphics. ... gain contrast and darker colors. Because there is no other option to do it in-game.
It's very possible to write a shader (two shaders, really) that:
a) adjusts the gamma _only_ for dark pixels (below some defined threshold) -- I think it'd have to be some kind of curve to avoid banding artifacts. Maybe it calcs the luma every frame to adjust the black level dynamically?
b) detects if you're in the map/whatever ui screen, so it disables the effect there (this would be a separate shader that only runs once per frame, not once per pixel, and writes to a single argb pixel shared texture a 32bit value that can tell any other shader whether you're in the ui screen). This would work by simply tapping something like 4 pixels per frame. I wouldn't think it'd be necessary though if shader a is written corectly... something like this is more necessary for stuff like bloom shaders, lens flares, etc.
Shader b would be game-specific... and usually resolution-specifc (or at least aspect-ratio-specific) because the pixel taps usually have to be pixel accurate. I've done it for other games. I could write this for you if you'd like, and put it on nexus. I might do it anyways for fun. What resolution do you play at? Every shader that makes use of it would have to be modified (but it's super easy).
Shader a might already exist... hmmm... maybe prod80_01B_RT_Correct_Color? It has both whitepoint and blackpoint correction.