[QUESTION] How feasible is it to enable high color bit-depth projectM
Please confirm the following points:
- [x] This question is NOT about the Android apps in the Play Store
- [x] I have searched the project page to check if the question was already asked elsewhere
Topic
General Request
Your Request
Please forgive if there's already an established reason why this isn't feasible, but I'm wondering if it would make sense to explore rendering presets to a high color bit-depth framebuffer for HDR enabled displays. I don't know much technically about HDR specifically but recently there's been more and more widespread support for high bit-depth color desktop environments and monitors (like KDE Plasma).
I'm just hopeful because I feel like projectM presets would probably look even better with any kind of higher visual fidelity.
I was wondering if someone could shed some light on whether this might be interesting and how realistic it is. I have experience with OpenGL and some Linux programming but haven't touched Wayland and such.
Thanks!
I'm not sure how much work this would be, as it would generally mean to rework any code that deals with colors, images and textures. You'd also have to tone-map input images from their 8-bit-per-channel RGBA format into the specific HDR range (which may be like 10 or 12 bits per channel, depending on the actual HDR format).
Presets should generally be fine, as they mostly work with floating-point values for colors ranging from 0 to 1, which can then easily be mapped to a 8, 10 or 12 bit value. There are some limitations in GPU-supported texture formats though, e.g. 10-bit depth per channel is only supported for RGB textures without an alpha channel.
Given the fact that HDR output is still a relatively non-standard thing across display manufacturers, correctly supporting it is rally hard. Just looking at video players and how they struggle with HDR videos should give a good feeling for this problem. At some point, when we don't have more pressing issues, we'll possibly look into this.
If anyone else wants to give this a try, please feel free to do so!