-
-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Display Color Spaces and Formats #576
Comments
This will probably involve some behavior in shaders to map the output to the target color space. |
If HDR is active, just try to select |
rgb10a2 with rec2020 will get you wcg (useful!) but not hdr, for hdr you need rec2100 pq (or hlg, but i don't think hlg is relevant for anything but debugging in lovr). 2100's the one that should be opted into, 2020's just gonna be exposing the expected display behavior though (assuming lovr changes to do the appropriate srgb color conversion, which i think it doesn't already do) |
Rephrasing holo's plan from chat to ensure I understand, with minor modifications:
|
Another slightly more simplified/concrete stab at this:
|
It seems like HDR metadata is required for this stuff. It mostly consists of metadata about the color space (primaries, white point), plus some data about the range of light levels in the scene. Vulkan has an extension where you can send the metadata to the display, but apparently it's flawed because drivers/displays don't always use it. A seemingly better approach is to have Vulkan tell you some metadata about the display (basically the brightness range it supports), and then have LÖVR incorporate that into tonemapping. However, Vulkan can't do that yet. DXGI can though. This is so gnarly! |
Can be handled separately for headset and window
Window
VK_EXT_swapchain_colorspace
t.graphics.colorspace
(ort.graphics.hdr
?) to set it, but probably also need a way to query supported colorspaces and apply one explicitly post-conf (not hard), for people that want precise controllovr.graphics.getColorSpace
probablyHeadset
XR_FB_color_space
I still don't understand color spaces well enough
The text was updated successfully, but these errors were encountered: