Stop the shader guessing where the picture is.
The Generic Depth Mod finds the right depth buffer more reliably, then hands SuperDepth3D the exact numbers instead of leaving it to work them out from the image.
How to get it
There are two ways, and both are free.
You need ReShade with Full Add-on Support. The add-on API is not in the standard build, so nothing will load without it.
What it fixes
Where the game actually drew the scene
Engines do not always fill the depth texture. Unreal pads it and renders the scene into a corner of it, leaving dead rows behind. Upscalers like DLSS, FSR and XeSS move that region every time you change a quality setting.
Without help the shader has to find that region by studying the picture. The add-on just tells it, every frame. Letterboxed games are handled too.
Which pixels are the weapon hand
Normally the hand is separated out of the shared depth buffer with a cutoff value you tune by hand, one per game. The add-on can supply a second depth buffer holding only the hand, so there is nothing to tune.
The two shader switches
ReShade preprocessor definitions| GDM_DEPTH_AUTOFIT | On by default, and safe to leave alone. It takes the exact viewport numbers from the add-on. Without the add-on it does nothing at all, so it cannot break anything. Not available on DirectX 9. |
|---|---|
| GDM_WEAPON_DEPTH | Off by default. Turn it on only when the add-on is supplying a weapon buffer for your game. With it on, the weapon hand cutoff value stops mattering. |
While Auto-Fit is doing its job the shader turns off its own letterbox detection and upscaler correction on purpose. A guess can only fight an exact answer.
If something looks wrong
Credits
Built on ReShade's own depth detection example by Patrick Mours, under the BSD 3-Clause licence. Modifications by BlueSkyDefender. Personal use only.