Support Custom HDR Luminance Curves

This would be a very nice feature to have. Currently, if I want to use my monitor’s peak brightness, I have to turn the SDR > HDR Gamma up to have an image that doesn’t look excessively bright and washed out. Yet this isn’t optimal because it almost always results in an over-contrasted look.

The “solution” to this is to turn the peak luminance down and adjust the gamma slider accordingly, but that isn’t preferred because then the highlights do not reach peak brightness.

I believe the best solution to this would to be to replace the gamma slider with a luminance curves control, like the type you see in Davinci Resolve, Photoshop, Lightroom, etc.

Would this be possible in Special K?

Yes, there’s a lot of room for improvement :slight_smile:

Originally, I had a 2-part adjustment that let you select your ‘middle-gray’ target, and then apply a a gamma curve from there up. This produced some pretty good results, but required a game’s HUD be completely isolated. Since I never got pre-HUD reshade perfected, I went with the much simpler approach of scale everything uniformly.

The holy grail is going to be when I can scale the luminance the game’s HUD and the 3D scene independently. But that requires a lot of work per-game doing the ‘HUD shader hunting’.

1 Like

That “middle-gray” does sound great, though why would it need to have the HUD isolated? Did it not look “correct”?

Also, is there any chance of that middle-gray control making it into a new version, even if some elements (such as the HUD) don’t look correct? Really, the lack of fine control is my main issue with the HDR retrofitting part of Special K, though it’s still a huge improvement over SDR.

The same reason that closed captioning is usually a black bar :slight_smile: You need contrast in order to read text. So that means separating the HUD from the scene, scaling the scene first and when the brightness underneath the HUD is known, some math can be done to make sure that any text on top of all that really bright content is able to dim the scene underneath it so you can still see the UI.

You must have noticed that SK’s UI has a separate luminance control? :stuck_out_tongue: That’s the correct way to draw HUDs in HDR, they’re not supposed to get blindingly bright along with eveyrhting else.

Ah I see. That means that the HUD is always unreadable? Or just brighter than it should be? If it’s just brighter than it should be normally, but still readable, I personally would take a brighter HUD and correct overall luminance.

How would you even find the HUD to exclude it? Or I mean, couldn’t the mechanism behind manually finding the HUD be something that is exposed to the user, so that the option is at least available? Perhaps there could even be profiles that could be shared, so that once one person “found” the HUD, anybody could benefit.

2 Likes

As it turns out, finding the shaders used to draw a HUD and actually isolating the HUD into a secondary render pass that can be blended back with the scene underneath it, is not even remotely simple :frowning:

SK already has features that allow users to find and share HUD shaders, for the purpose of taking screenshots with a game’s HUD removed. My recent thread for Baldur’s Gate 3, for example, was started mostly just to give the users a list of these shaders.

But that doesn’t do even half of what’s needed to make luminance control for the game’s HUD separable. I think I’m sadly the only person doing any research into this kind of thing, or there might be some real solutions.

1 Like

Changes made in this update should make you happy :wink:

1 Like

Wow, great! Testing ASAP.