Skip to content
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

Forcing 10-bit and/or HDR on startup #186

Open
agentirons opened this issue Jun 3, 2022 · 2 comments
Open

Forcing 10-bit and/or HDR on startup #186

agentirons opened this issue Jun 3, 2022 · 2 comments

Comments

@agentirons
Copy link

I have attempted to use tev on my Windows 10 laptop, connected via HDMI to a 10-bit HDR monitor (LG 27GP950-B), but when the console window opens it always states: INFO Launching with 8 bits of color and LDR display support.

I have confirmed that HDR is turned on in Windows display settings, as well as the Nvidia control panel. I've tried switching resolutions and framerate lower to enable higher bit depth. I have an iMac M1 that connects to the monitor as well, and it has no trouble running tev in HDR mode and correctly displaying a test .exr I have, so I know the monitor will do it and the cable is good.

Is there any way to force these options as flags that I'm not seeing?

@diiigle
Copy link
Contributor

diiigle commented Jun 4, 2022

Looks like HDR is supported by nanogui only on Mac so far.
I don't see a way to enforce it a the moment - only to disable it (ldrFlag).

Tev

tev/src/main.cpp

Lines 467 to 473 in 93d05c5

auto [capability10bit, capabilityEdr] = nanogui::test_10bit_edr_support();
if (get(ldrFlag)) {
capability10bit = false;
capabilityEdr = false;
}
tlog::info() << "Launching with " << (capability10bit ? 10 : 8) << " bits of color and " << (capabilityEdr ? "HDR" : "LDR") << " display support.";

Nanogui

https://github.com/mitsuba-renderer/nanogui/blob/abd03f651b2e8fd168c30a5301d5348712198776/src/common.cpp#L210-L216

@Tom94
Copy link
Owner

Tom94 commented Jun 4, 2022

Hi there, unfortunately nanogui seems to only detect HDR capability (and, I suppose, support it) on Apple / Metal. See

std::pair<bool, bool> test_10bit_edr_support() {
#if defined(NANOGUI_USE_METAL)
    return metal_10bit_edr_support();
#else
    return { false, false };
#endif
}

However, you could try forcibly using a floating-point frame buffer by hardcoding the capability10bit and capabilityEdr variables, mentioned above by @diiigle , to true and checking whether it gives reasonable results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants