Sniper Elite 4 DX12 depth buffer missing at first

1 year 4 months ago - 1 year 4 months ago #1 by coldshiver
On startup Sniper Elite 4 DX12 reshade loads and any shaders that rely on the depth buffer (like MXAO or PPFX_SSDO) apply on the loading screen text. Then when loading into a level the shader does not apply to the game world but only seemingly to the escape menu text.

Alt tabbing out of the game and back. Then shaders like MXAO and PPFX_SSDO are visibly applied correctly to the game.

Possible cause - possibly incorrect:
During startup reshade selects the depth buffer it has access to at that time but when loading into an actual level it does not re-detect and select the game world depth buffer. When alt tabbing out of the game and back in it re-detects the depth buffer and work correctly.

My assumptions - possibly incorrect:
I assume the detection of the correct depth buffer is based on which buffer is used the most or if it is used in a certain way? And during startup only the menu text screen exists and that buffer is selected. I think most games reinitialize 3D when loading into a game level from the main menu but sniper 4 possibly does not? So reshade does not know when it has to re-detect the depth buffer again. I imagine this is why alt tabbing works, because it forces reshade to reload and redetect the buffer.

I hope my analysis isn't too wrong as i am a software programmer but not a 3D or graphics programmer in any way shape or form so my knowledge regarding 3D and depth buffers, directx is extremely limited.

Side note: MXAO looks visually weird in dx12 sniper elite 4 so i switched to using the PPFX_SSDO shader wich does seem to produce visually correct results. Both still require the work around with alt tabbing though.
Last edit: 1 year 4 months ago by coldshiver.

Please Log in or Create an account to join the conversation.