OutRun2006Tweaks icon indicating copy to clipboard operation
OutRun2006Tweaks copied to clipboard

[Feature Request]: HDR support

Open emoose opened this issue 1 year ago • 4 comments

Describe the feature you'd like to see added

A way to add HDR support to the game would be great, don't think there's much we can do on the game side though since it uses D3D9 which doesn't support any HDR, but there are DXVK forks which can retrofit it.

Haven't really been able to find much info about the best way to set that up yet though (the info about HDR retrofitting is really scattered around the net it seems, AFAIK you need both DXVK + reshade setup to handle it)

If anyone got HDR working well with the game please let us know your setup!

Alternatively I think NVIDIA's RTX HDR works with the game too, but that probably wouldn't be as good as actual HDR retrofit.

emoose avatar Sep 01 '24 17:09 emoose

You can inject HDR via Windows AutoHDR or, for more control, via Nvidia Settings.

SoftwareTester45 avatar Sep 02 '24 02:09 SoftwareTester45

it uses D3D9 which doesn't support any HDR

Well, a few older games like Test Drive Unlimited (on PC) had HDR support in DirectX9 so it can be done. That said, can't you tweak a few shaders to make environment light stand out more? For example, coming out of tunnels etc.

Right now, it's hard to even catch the sun rays at the start of the race.

Outrunner24 avatar Sep 03 '24 06:09 Outrunner24

For DX9, I think you can use dgvoodoo to translate it to DX11 and then inject HDR from there. Though I think DXVK covers DX9 anyway, so nevermind.

Tenome avatar Sep 10 '24 17:09 Tenome

Figured out a pretty good setup, with HDR1000 screen the game pretty much lights up my whole room now lol.

  • Download the dxvk_v2.4-HDR-mod-v0.3.0-gplasync-1.7z from https://github.com/EndlesslyFlowering/dxvk/releases/tag/v2.4-HDR-mod-v0.3.0
  • Download reshade installer from https://reshade.me/#download
  • From the gplasync 7z, extract async\x32\d3d9.dll into game folder
  • With the reshade installer, point it toward your OR2006C2C.exe, but when it asks for D3D9/D3D11/Vulkan make sure to pick Vulkan
  • When reshade asks what shaders to install, scroll down and pick ReShade_HDR_shaders by Lilium, we need their shaders to make use of the HDR data from DXVK properly
  • Inside Outrun2006.ini, make sure DX/WINDOWED = 0 is included, game has to run exclusive fullscreen for HDR to kick in
  • In the game folder, create dxvk.conf with the following:
d3d9.enableRenderTargetUpgrades           = true
d3d9.upgrade_RGBA8_UNORM_renderTargetTo   = rgba16_sfloat
d3d9.upgrade_RGBX8_UNORM_renderTargetTo   = rgba16_sfloat
d3d9.upgrade_BGRA8_UNORM_renderTargetTo   = rgba16_sfloat
d3d9.upgrade_BGRX8_UNORM_renderTargetTo   = rgba16_sfloat
d3d9.upgrade_RGB10A2_UNORM_renderTargetTo = rgba16_sfloat
d3d9.upgrade_BGR10A2_UNORM_renderTargetTo = rgba16_sfloat
d3d9.upgrade_RGBA16_UNORM_renderTargetTo  = rgba32_sfloat
d3d9.enableBackBufferUpgrade              = true
d3d9.upgradeBackBufferTo                  = rgba16_sfloat
d3d9.enableSwapChainUpgrade               = true
d3d9.upgradeSwapChainFormatTo             = rgba16_sfloat
d3d9.upgradeSwapChainColorSpaceTo         = scRGB

If it's setup properly, when you run the game it should switch to fullscreen and appear very dim compared to the normal C2C.

To get the HDR effect you need to open ReShade menu with Home key, then enable Lilium's inverse tone mapping, once it's enabled it should make the HDR appear properly, you can tune the max brightness to your screens nits in the settings panel at the bottom.

For me this works pretty well, only issue I've noticed is some water reflections have part of it not rendering properly, think removing one of the lines from dxvk.conf can fix that though, will update if I find something for it. (also I'm not sure if DXVK supports TransparencySupersampling, might need to force that in GPU control panel instead)

emoose avatar Sep 11 '24 20:09 emoose