FunkyFr3sh / cnc-ddraw

GDI, OpenGL and Direct3D 9 re-implementation of the DirectDraw API for classic 2D games for better compatibility with Windows ME, 2000, XP, Vista, 7, 8, 10, 11, Wine (Linux/macOS/Android) and Virtual Machines
https://discord.gg/afWXJNDDF5
MIT License
2.33k stars 148 forks source link

AUTOHDR Support in the future? #354

Open Steff833 opened 4 weeks ago

Steff833 commented 4 weeks ago

Are there any plans to make compatibilty with Windows 11´s AutoHDR. No matter what I try. I dont get AutoHDR feature to kick in with CNC-DDRAW. Not with DXGI Swapchain, not with changing the renderer. Even ledoge autohdr_force dosnt work.

https://github.com/ledoge/autohdr_force

Only with SpecialK i had some success but its not that good.

FunkyFr3sh commented 4 weeks ago

I never heard about it, but google says it would only work with DirectX11 and DirectX12. However, there are also some posts that suggest that OpenGL can work too with recent nvidia drivers.

Anyways, you can try to enable the two hidden renderers in ddraw.ini, maybe one of them will work.

renderer=direct3d9on12 or renderer=openglcore

If it still doesn't work, try to disable this here: image

and this is maybe a possible fix for opengl? (nvidia) https://www.reddit.com/r/RainbowSixSiege/comments/1as8cbr/auto_hdr_fix_for_those_on_pc_using_the_vulkan_api/

Possible fix for opengl on amd: https://www.reddit.com/r/Amd/comments/1502ue2/dxgi_swapchain_on_opengl_auto_hdr_lower_latency/

Steff833 commented 4 weeks ago

Or maybe add vulkan as renderer too.

Here is an example where I was very very surprised. The emulator SNES9x is out for many years but still in developement. https://github.com/snes9xgit/snes9x

It had output method Directdraw, Direct3d and Opengl.

Recently they add vulkan as renderer too. I tried it and bang AutoHDR kicked in. Its real SDR to HDR otherwise Youtube would not unlock the HDR flag. https://www.youtube.com/watch?v=XJ8_EDRWKW8

to CNC-DDRAW: I also tried direct3d9 as renderer and inject DXVK (VULKAN) in the hope it would work. But it dosnt. Whats the command in the ddraw.ini for "Fix invisible videos / UI elements" because I dont like to use this frontend and edit my ddraw.ini by myself.

Also these nice shaders like fxaa-bilinear.glsl only work with renderer opengl in cncddraw. Would be nice if shaders also works with other renderers.

FunkyFr3sh commented 4 weeks ago

Trying DXVK was a good idea! But if even that one doesn't work then I guess something else is wrong, it's probably not related to the renderer.

"Fix invisible videos / UI elements"=off is nonexclusive=false