Fix gamma slider via pixel shader #178#481
Conversation
|
Oh yeah sorry for the quality, GitHub only allows 10MBs. |
|
goated PR, thanks |
|
Yeah, no problem. |
|
Nice. Wanted to report the gamma slider doing barely anything as a bug, but I guess I don't have to. |
|
My implementation isn't intended to replicate the LC gamma curve it's designed to provide a software fix for the gamma that fixes the slider not doing anything. LCE IIRC used a much more aggressive non-linear curve. My PR does not aim to match that behavior. Instead, I'm applying a standard gamma function with a small toe lift. If we ever decide to target the LC gamma profile, we can add that as a separate preset. But this PR's goal was to make the gamma slider functional. |
|
And I forgot to say, but in ICEMP they use post processing for the gamma. Mine is built into the lighting pipeline directly. But I am working on a commit to make it more LC-like. |
|
Okay, converting to draft. |
|
Yeah, I'll probably have it out by the end of the day. |
|
@void2012 ready for review. One caveat is I kept getting an exception for multiplayer thing which is in progress so I wasn't able to test split-screen.
|
|
Ask wine people to test and this can be merged. |
|
I had someone test it for me and they said it was all working @void2012 . |




Description
This PR fixes the gamma slider so it properly affects scene brightness on all platforms. Instead of relying on DXGI system level gamma, gamma is now applied directly through the light-texture pipeline
Changes
Previous Behavior
IDXGIOutput::SetGammaControl, which was unreliable.Root Cause
New Behavior
Fix Implementation
updateLightTexture, with clamping and toe correctionRelated Issues
Before:

After:

Not entirely too much of a difference during the day.
Before:

After:

Now I'm WAY to lazy to try and time it up to get a lighting strike, but yeah the gamma bar also works too:
2026-03-04.15-45-41.mp4