Support Software-Side Gamma Correction
As described in https://bugs.openmw.org/issues/1983, interior cells are generally much darker than they were in Vanilla, and it becomes very difficult to see in exterior cells at night too - especially if playing during the daytime and having diffuse sunlight on the monitor.
The reason for that is that Vanilla had a gamma slider you could adjust to improve game visibility on your screen, which doesn't exist in OpenMW. Since changing the actual monitor gamma would include a metric ton of hardware support, it's understandable that this is not the way to go.
So why not simulate it in software? You wouldn't be changing any hardware settings but adjust colors, light intensity and whatnot in either textures or finalized frames instead.
For further reading, see this article about the principle of gamma correction: http://gamedevelopment.tutsplus.com/articles/gamma-correction-and-why-it-matters--gamedev-14466
Thanks for your time, keep up the good work. :)
#2 Updated by Irrenhaus Three over 1 year ago
Jannik Heller wrote:
We have the gamma correction slider implemented using SDL, but it doesn't seem to work on Linux at the moment (hence it's disabled in Linux builds).
I see, that explains why I'm not seeing it. :)
It's good to know though that it's being worked on. Thanks again.
That's nice, can we have a confirmation from another user that SDL 2.0.5 works?
I don't see the need to work on a hack if this has been fixed in SDL. For what it's worth, the approach linked in comment #7 isn't gamma, it's just brightness; and the additional full-screen quad will reduce performance a little bit.
#11 Updated by Andrei Kortunov 5 months ago
Sorry for misleading: gamma still works after downgrade to 2.0.4.
SDL expects the DirectColor window to apply the gamma correctly, but it get the TrueColor one from X server. IIRC, this problem was claimed to be fixed in the one of X server updates several months ago, but it did not work for me. I actually have no idea why it started to work now.
#13 Updated by Miloslav Číž 5 months ago
What if we made a general postprocessing shader that would not only allow us to deal with this, but also do other stuff like adjust contrast, saturation, bloom effect etc.? Instead of a cheap hack we might as well go for a full-blown feature. Later it would be useful to modders who could plug in their own GLSL code to do all kinds of crazy stuff.