STEAM GROUP
Special K - "Kaldaien's Mod" Special☆K
STEAM GROUP
Special K - "Kaldaien's Mod" Special☆K
238
IN-GAME
2,455
ONLINE
Founded
May 23, 2016
Language
English
 This topic has been pinned, so it's probably important
Kaldaien Aug 14, 2018 @ 1:19am
HDR FAQ
Introduction
Monster Hunter World ships on PC without support for HDR, even though the graphics engine is using a minimum color precision of 10/11-bit throughout the entire graphics pipeline. This means there is more color information available than it actually outputs in its shipping form.

I am working on restoring HDR capabilities, but this stuff is complicated and I need a separate thread to keep the niche community who actually owns HDR display devices informed during development.

    This thread is initially locked, but I may unlock it if enough interest builds and the community understands this thread is for HDR display owners only.


HDR Requirements
  • Windows 10 (Creators Update)
  • HDR Display Device (duh? :P)
  • Desktop configured to run at 10- or 12-bit color


What is an HDR display and how does it differ from in-game HDR options?
Effectively, what we call HDR displays are devices that can represent absolute luminance values. It can be stated with certainty (assuming proper calibration and display capabilities) that a pixel has an exact level of brightness if a display is processing an HDR signal.

This is in contrast to SDR, which actually does have various standards that define how bright a color is supposed to be, but that virtually nothing actually follows. sRGB has a reference white luminance of only 80 nits, most displays are pumping out an image much brighter than the sRGB standard says is supposed to be full-white.


The in-game HDR setting governs the precision used for rendering prior to post-processing. 32-bit uses 11:11:10-bit color (blue has less precision) and 64-bit uses 16:16:16:16-bit color (with an unused alpha channel). Both of these formats are more precise than the final output signal on most display setups, so an HDR->LDR tonemap is applied prior to output and that takes the image from 11/10-bit or 16-bit down to 8-bit.

    "HDR display devices make the tonemap step at the end less lossy."

You are still never going to output the native 16-bit per-color-channel image, but it becomes a less destructive process because HDR displays provide information about their capabilities (brightness range and color space) to the game. A proper HDR-capable graphics engine then takes this information and tailors to tonemap precisely to the display device and reduces clipping and banding as much as possible.

    This last part --tailoring the tonemap to the display-- is currently missing from the PC version of the game, but I am able to extract the pre-tonemapped colors and try to do what the game is supposed to be doing.



Implementation-specific stuff (last updated: v 0.9.24.12)
My current flimsy design has very specific requirements to get any of the HDR modes working, and I'll cut to the chase here.

  • HDR10
      This mode requires enabling flip model presentation, forcing the game to run in borderless window mode and setting a waitable swapchain (prevents the game from changing resolution / image format)
        HDR10 also requires metadata, which I have no way of automating -- HDR10 should be avoided.


  • scRGB (preferred HDR mode)
      Works in borderless window mode the same way as HDR10, but it is also supported in fullscreen exclusive mode.
        You are going to want fullscreen exclusive mode for this because the desktop doesn't run at 16-bit color and therefore this mode incurs some image format conversion penalties in windowed mode.




Configuring scRGB for Best Results

    When adjusting the scRGB brightness settings:

    1. Start with gamma until you find a pleasing image with enough contrast to your liking but not so much that black detail disappears.

    2. Look directly at the sun and then adjust the middle-white slider so that you're right at the point where it begins to blend in with the rest of the sky. You want to get as much contrast as possible without losing the ability to distinguish the sun from the background.
Last edited by Kaldaien; Aug 23, 2018 @ 12:50pm