Documentation
Readme
View as plain text
See this page for the most up to date version of this patch and guide:
https://community.pcgamingwiki.com/files/file/2581-control-hdr/
This patch adds native HDR and a lot more to CONTROL, making it a little bit of a technical remaster. It was achieved by rebuilding the game with modified code and shaders.
Compared to the latest official release version (0.0.344.1879), these are the improvements:
-Native HDR (gets rid of color banding, greater contrast and brighter highlights, more natural colors).
-Improved quality of SDR output (10bit->no more color banding, slightly better dynamic range).
-Upgraded DLSS to 3.1.30 and improved its implementation (it's also now compatible with FSR 2.X injection).
-Added DLAA support (DLSS at native resolution).
-Added a new "Max" texture setting to improve the slow texture streaming (min 8GB+ VRAM, 10GB+ are recommended).
-Fixed broken ray tracing reflections.
-Fixed low shadow quality when ray tracing was on.
-Added extreme ray tracing quality mode (slow).
-Full UltraWide support: unlocked any resolution and aspect ratio, including 32:9+.
-Some FOV and LOD fixes for UW. Fixed UI issues at non 16:9 aspect ratios (e.g. enemies health bars were displaced).
-Improved window+borderless+fullscreen management.
-Fixed the game not launching correctly on non Nvidia non AMD GPUs (e.g. Intel Arc).
-Restored film grain with DLSS. Tweaked the film grain implementation.
-Added FOV multiplier.
-Minor crash fixes, bug fixes and features.
v1.5.1:
-Fixes hiss (smoke) effect around enemies being too bright in HDR (it was broken in 1.3).
v1.5:
-Improved dynamic shadow resolution when RT was on.
-Improved ray tracing reflections quality (beyond how they looked originally, before the bug that broke them appeared, making them disappear or have bad noise patterns).
-Improved DLSS quality (less ghosting, less blurry, less shimmery) by improving the exposure and using the C/D presets instead of F.
-Tweaked film grain.
-Improved 32:10 resolutions support.
-Disabled the ability to take screenshots directly from the game when the 10bit SDR mode is enagaged (they would be broken and there's no incentive in adding support).
-Update DLSS dll to the latest version.
v1.4:
-Tonemapper improvements (SDR should have a bigger dynamic range as well now, by about ~5%, without any loss of detail).
-Improved HDR UI blend in (now its actually tonemapping its background, resulting in an almost identical look to SDR).
-Improved the "Original Look" HDR mode highlights curve (it wasn't looking as good as it could have).
-Added DLSS texture LOD (mip map) bias based on rendering resolution.
-Fix film grain missing if DLSS was enabled.
-Improve film grain consistency at higher resolutions (e.g. it wasn't really visible anymore at 4k).
-Re-wrote film grain to be more "realistic". It should now be even more focused on brighter colors, and scale differently based on the exposure etc... Disable it if unliked.
-Improve vignette look on any non 16:9 resolution.
-Move vignette to happen after TAA to avoid having a detrimental effect on it (this should slightly improve raised blacks in SDR and HDR).
-Added config to disable vignette.
-Improved SDR brightness slider (it's applied in a more consistent way now).
-Added setting to increase the color buffers size in SDR, to match the HDR ones (this should fix all the remaining banding, especially with DLSS) (this is enabled by default. Note that it will use more memory, and like HDR, it disables the ability to save screenshots from within the photo mode. Use an external app for screenshots).
-Added custom gamma curve for SDR (e.g. set 2.2 gamma instead of sRGB) (only to be used with the SDR increased buffers size setting).
-Updated DLSS dll to 3.1.11 (DLSS should be auto updating but Nvidia official updates take a bit).
v1.3:
-Added a toggle to preserve the original "Art Director's" vision in HDR, which produces a less contrasy image, but it's more in line with the SDR look.
-Improved "HDR Extra Saturation" setting to behave more consistently.
-Made SDR buffer 10 bit, so that on 10 bit monitors there should be no banding even in SDR.
-Improved HDR metadata.
v1.2.1:
-Fixed HDR game to display tonemapping (it was never reaching your monitor peak brightness, it was always aiming for a value slightly below it, thanks to Lilium for finding the issue).
If you already had the mod installed, to keep the default brightness make sure to open your renderer.ini config and replace m_fHDRWhitePaperNits from 250 to 200.
-Improved DX12 performance by about 1%. DX11 shouldn't have any relevant performance penalty anymore.
v1.2:
-Implemented DLSS 3.1.1 (to not be confused with frame generation). It can now auto update dll and dynamically pick the best render type presets.
Preset "F" has been selected for all the quality modes, as testing confirmed it always looks best. Control previously used presets to A and B.
This should make DLSS look sensibly better, and the previous ghosting that was there in HDR is almost 100% fixed.
If you are unhappy with the sharpness of preset "F", please use a custom sharpening post process.
If you still any any relevant signs of ghosting, contact me, and I might be able to improve it further.
-Improved the way non white highlights are mapped to your screen max nits capabilities.
-Slightly improved tonemapping.
-Minor HDR settings menu improvements.
v1.1.1:
-Fixed massive performance problems that happened if your "m_fHDRMaxNitsOverride" config variable was set to anything > 0.
-Slightly increased the "m_fHDRHighlightsScale" range.
-Improved the way the HDR meta data is set (it's there so that your TV can do static tonemapping in case it doesn't support HGiG).
v1.1:
-Fixed the game accidentally activating HDR in Windows even when it was set to SDR.
-Fixed broken UI pixels in HDR on some AMD cards.
-Added DLSS at native resolution (DLAA).
-Allow a new setting to use 3x as samples for ray tracing and volumetrics, increasing the quality and reducing noise (this is VERY expensive).
-Added a FOV Multiplier config setting `m_fFOVMultiplier` (the game and UI are designed for the default FOV, so only use for accessibility reasons).
-Add a config to skip the intro video `m_bSkipIntroVideos`.
-Improved HDR graphic settings description and added information about the HDR calibration in it. You don't need to mess with configs as much anymore.
-Improved handling of windowed mode resolution/size. Improved manual HDR toggling handling. Fixed alt tabbing window focus (I had broken it).
-Fixed rare old crashes that could happen in the menu. Fix tiny memory leak.
How does it work:
1) Download your version of the patch (Steam, Epic Store, No DRM/GOG).
2) Copy (with replace) all the files inside the Control install folder.
3) Open the DX12 version of the game.
4) You can turn on HDR either from Windows or from the game (on by default).
5) The game will read the Windows 11 HDR calibration profile (app) and match its tonemapping to your screen capabilities.
6) Otherwise see the guide below to calibrate HDR.
7) Using HGiG is suggested if your TV supports it (monitors usually default to HGiG).
8) In the game settings, there are multiple HDR settings to tailor the image to your liking, though know that the HDR is already pre-calibrated to roughly match the SDR brightness.
Further details:
-You can swap between HDR and SDR from the game or Windows at any time. The game automatically changes.
-Further HDR settings are avaiable in the "renderer.ini" file (after running the game once).
-config "m_fHDRMaxNitsOverride": If you are incapable of creating an HDR calibration profile (e.g. Windows 10), set this to the nits max nits your screen supports (e.g. ~750 for LG CX).
-The game supports any value there, though if your screen maxes out at only 400 nits, you might want to compare HDR and SDR and play whichever looks best.
-config "m_fHDRRaisedBlacksCorrection": This makes the color correction LUT output black as black (instead of grey, depending on where you are).
-config "m_fHDRSaturation": This artificially generates colors in the Rec.2020 space from the game internal Rec.709 image. Anything that is bright and saturated will shift to colors that don't exist in SDR. This makes the game look more saturated, though it could also make it feel more "HDR". Unreal Engine uses a similar technique.
-The HDR implementation skips the Reinhard tonemapper the game used in SDR. In my opinion it made the image look overly flat, which was a choice dictated by the limitations of SDR. Removing it allows to take full advantage of HDR, by outputting an image with a much greater level of contrast, and without disadvantages to visibility.
-Disabling the tonemapper in SDR is not the intent of this mod, so it will not be done.
-The performance impact from the new code should be within the 1-3% range when running in HDR, and lower running in SDR.
-The game opening scene is likely the one that looks the worse in HDR due to some overly strong lights.
-HDR is only supported on the DX12 executable.
-There is no patch for the Microsoft Store version of the game.
-If for some reasons you need to swap save files between game versions from different stores, you can find the directories here. You might also have to rename the internal save directory, e.g. from `Default-Generic-User` to `Default-Epic-User`.
-This should work both on the Ultimate Edition and the older standard version that had separate DLCs. The DLC ownership might not be mutually compatible.
-This patch does not aim to fix the bugs of the original game, so do not report them please.
-You can generally change graphics settings at runtime, but don't report problems unless you restart the game.
-The new UI options miss localization, so they will always show in English.
-Any DLSS version from 2.4+ should be usable.