-
-
Notifications
You must be signed in to change notification settings - Fork 5
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
Does this work with native Vulkan applications? #2
Comments
Yes, if you force a native Vulkan app to output on a RGBA16F buffer and set linear sRGB as color space (scRGB), which AFAIK are supported on both Linux and Windows, you will get an HDR window capable of displaying colors above 80 nits (in other words, colors beyond 0-1). So basically what you can do is keep the previous SDR rendering pipeline, render in sRGB with gamma applied (both on the 3D rendering and the UI layer), and then convert the image back to linear space just before copying it in the swapchain buffer. |
NVIDIA defaults to DXGI indeed, though you can force native Vulkan presentation in the NVIDIA Control Panel. I don't remember hearing about AMD doing this though. |
You might also want to check out this PR for Dolphin that added HDR support and did something similar to what I mentioned above: |
The README mentions:
As I understand it, does this mean this shader can work with native Vulkan applications? I'm interested in using it with Godot 4's Vulkan renderer, which internally renders in HDR (RGBA16F1) but currently doesn't support HDR output.
Footnotes
This is for the Forward+ rendering method. The Mobile rendering method uses RGB10A2 instead to minimize bandwidth usage, but most high-end desktop games are expected to use Forward+ (and you can force it with a CLI argument if a game defaults to Mobile). ↩
The text was updated successfully, but these errors were encountered: