HDR Rendering support
I've really enjoyed playing through the port. After reading your stance on feature requests, I felt this would fit right in and feel right at home for a PC port. The game itself has beautiful scenery and incredible lighting and I feel that would only be elevated if the game could output in HDR (for those folk who happen to have a monitor or TV that supports it).
I think that even after 17 years, this game looks breath taking, and I feel like this very small QoL enhancement would round out the port in a very nice way; adding a level of polish that could probably compete with an official port (should SEGA ever decide to get on that). I think this port is absolutely incredible and it runs great.
BTW, this isn't necessary and I understand if the decision is made not to support this feature or leave it on the backburner until other more pressing issues are addressed.
+1, there is banding around gradients so adding HDR would just be the cherry on top on this port.
There is some art direction involved in adding HDR support in an existing game (e.g. how bright should the sun be relative to the clouds surrounding it?), so I'm not 100% sure this is in scope. It may be possible to just use an HDR swapchain and apply minimal tonemapping changes but it probably won't have the HDR "look" that pops out.
+1, there is banding around gradients so adding HDR would just be the cherry on top on this port.
Fixing banding can likely be done with a post-processing debanding shader if the game internally renders in HDR, or a per-material debanding shader if not.
Glad i found this. I was about to request the same thing
I tried making a RenoDX HDR mod for this game, you can find it here: https://akuru-q.github.io/renodx/renodx-sonicunleashedrecomp.addon64 (needs ReShade with addon support) You have to disable motion blur for it to work, and the Xbox color grading also clamps, so just a stopgap solution. Because of the debug names that are present in most of the shaders, there are multiple permutations for each shader with the same code but different hashes. This means I can't effectively mod the shaders, which could potentially be an issue for other mods as well.
But, HDR and better tonemapping options than the vanilla SDR clipping/clamping should be a feature that gets added here anyways, since the code is open source.
Things that need to be done for proper HDR support:
- upgrade the swapchain to
R16G16B16A16_FLOATand change the color space to scRGB - upgrade all back buffer aspect ratio
R8G8B8A8_UNORMrender targets toR16G16B16A16_FLOAT(i.e., if a user is on a 16:9 4k screen, both 3840x2160 and 1920x1080 textures should be upgraded, since depth of field and motion blur seem to use quarter res) - add tonemapping, color grading and scaling to an existing shader that writes to the swapchain before the UI (so just the final game scene alone)
- add a custom final/post process shader to properly correct the output
- fix the motion blur shader/velocity resource, which gets broken due to the texture upgrades
- stop Xbox color grading from clamping
The Reno mod only does the first two things here, and has to tonemap everything, including UI, at the end. But that's enough for great HDR - all the more reason to add it here natively!
There are some highly knowledgeable HDR devs over at the HDR Den Discord server. Feel free to reach out!
I would love to see this as well. I tried retrofitting HDR with special K, but unfortunately special K just can't seem to hook into the DX12 or Vulkan backends.