Depth3D icon indicating copy to clipboard operation
Depth3D copied to clipboard

Please make the default setting for the depth buffer scaling option unhidden.

Open unhappy-ending opened this issue 1 year ago • 4 comments

Hello! I greatly appreciate you making this shader, it's brought a lot of enjoyment to one of my favorite pastimes. However, I came across a game (Astebreed FYI) that had a depth buffer not to scale with the image. I saw this issue reported here for FF7 remake:

https://github.com/BlueSkyDefender/Depth3D/issues/74

Unlike that game, Astebreed doesn't use DLSS so there is no fix as far as that is concerned. There is also this report:

https://github.com/BlueSkyDefender/Depth3D/issues/62

The OP solution was to run Elden Ring in 16:9, not an ideal solution when the shader has an option that could fix it.

For Astebreed, I found I could scale the depth buffer correctly to the displayed image by setting various global preprocessor RESHADE_DEPTH_* settings. Through those, I was able to get the other depth based shaders to work without a hitch, except SuperDepth3D. I always check DisplayDepth.fx when I have an issue with a game and often can find a solution through it, and then match the settings in SuperDepth3D. I don't even know why, but I ended up looking at the source and seeing there actually IS an option to scale the depth buffer to the image. Knowing this, the depth buffer for Astebreed can be fixed to the image.

Here is DisplayDepth overlay on SuperDepth3D:

20231213071416_1 20231213072441_1

Uncorrected SuperDepth3D by itself: 20231213112432_1

Corrected SuperDepth3D:

20231213122158_1

It's a lot easier to set the scale using DisplayDepth than it is the scaling tool in SuperDepth3D. IMO, it would be nice if it could pull the data from global RESHADE_DEPTH_INPUT_X_SCALE and RESHADE_DEPTH_INPUT_Y_SCALE since using other shaders like DH_UBER_RT or MXAO will require it anyway. Maybe SuperDepth3D could pull the other RESHADE_DEPTH_INPUT data from global, too, since it's pretty much required for many common depth based shaders. Just a thought.

Again, I really appreciate your work! :) I just wish some settings hidden in the source had been available from the start so I didn't have to waste time :(

Appreciate you.

unhappy-ending avatar Dec 13 '23 17:12 unhappy-ending

If you open up the Shader there is a preprocessor for different types of scaling options.

These options also have an ability to be automated depending on the type of scaling needed in the game.

I don't want to have it default to on because it clutters the UI. Also scaling is automated for a lot of games already because of Overwatch.fxh it's just a few broken ones in strange cases where it needs to be resized.

I also do not want to pull information from display depth because it can already be done inside of the Shader.

Oh yes one more thing displayed up does nothing for SuperDepth3D. The Shader itself has self-contained depth buffer linearization and is portable. There's no need to rely on display depth.

So yes the option is there already. Just open up the Shader and enable the preprocesor and save it. And then the options will pop up.

On Wed, Dec 13, 2023, 10:56 AM unhappy-ending @.***> wrote:

Hello! I greatly appreciate you making this shader, it's brought a lot of enjoyment to one of my favorite pastimes. However, I came across a game (Astebreed FYI) that had a depth buffer not to scale with the image. I saw this issue reported here for FF7 remake:

#74 https://github.com/BlueSkyDefender/Depth3D/issues/74

Unlike that game, Astebreed doesn't use DLSS so there is no fix as far as that is concerned. There is also this report:

#62 https://github.com/BlueSkyDefender/Depth3D/issues/62

The OP solution was to run Elden Ring in 16:9, not an ideal solution when the shader has an option that could fix it.

For Astebreed, I found I could scale the depth buffer correctly to the displayed image by setting various global preprocessor RESHADE_DEPTH_* settings. Through those, I was able to get the other depth based shaders to work without a hitch, except SuperDepth3D. I always check DisplayDepth.fx when I have an issue with a game and often can find a solution through it, and then match the settings in SuperDepth3D. I don't even know why, but I ended up looking at the source and seeing there actually IS an option to scale the depth buffer to the image. Knowing this, the depth buffer for Astebreed can be fixed to the image.

Here is DisplayDepth overlay on SuperDepth3D:

20231213071416_1.jpg (view on web) https://github.com/BlueSkyDefender/Depth3D/assets/85425531/4792e5f1-2b5e-418e-ae29-e8fab91a93fc 20231213072441_1.jpg (view on web) https://github.com/BlueSkyDefender/Depth3D/assets/85425531/89d46d86-970a-4316-a7f9-abfa3c33c97c

Uncorrected SuperDepth3D by itself: 20231213112432_1.jpg (view on web) https://github.com/BlueSkyDefender/Depth3D/assets/85425531/d25adee8-f399-49e4-96c7-24063d5d5217

Corrected SuperDepth3D:

20231213122158_1.jpg (view on web) https://github.com/BlueSkyDefender/Depth3D/assets/85425531/44d6fd17-fd6d-49ca-a0df-ca75603bd9da

It's a lot easier to set the scale using DisplayDepth than it is the scaling tool in SuperDepth3D. IMO, it would be nice if it could pull the data from global RESHADE_DEPTH_INPUT_X_SCALE and RESHADE_DEPTH_INPUT_Y_SCALE since using other shaders like DH_UBER_RT or MXAO will require it anyway. Maybe SuperDepth3D could pull the other RESHADE_DEPTH_INPUT data from global, too, since it's pretty much required for many common depth based shaders. Just a thought.

Again, I really appreciate your work! :) I just wish some settings hidden in the source had been available from the start so I didn't have to waste time :(

Appreciate you.

— Reply to this email directly, view it on GitHub https://github.com/BlueSkyDefender/Depth3D/issues/107, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD3PPZ3H4RJJO4KZXLKL6QDYJHT6LAVCNFSM6AAAAABATSJORGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2DAMRRGIYDCMA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

BlueSkyDefender avatar Dec 13 '23 19:12 BlueSkyDefender

So yes the option is there already. Just open up the Shader and enable the preprocesor and save it. And then the options will pop up.

Yes, the option is there already but you have to look at and edit the source code to enable it. Any chance you could add it to the pre-processor or maybe have an advanced mode switch in pre-processor? At least that way by default you can keep the UI as is but people can see that there are more options available to tweak. IMO, the extra 4 lines for depth scaling doesn't clutter the UI, and had I not decided to look at the source I would never have known scaling was there in the first place.

Is it common for people to assume looking at the source code for hidden shader options? Only reason I checked was because I wanted to see if it would be difficult to edit it to do what I wanted.

unhappy-ending avatar Dec 19 '23 03:12 unhappy-ending

This used to be a common thing at one time when ReShade Didn't have the processors list at the bottom.

I rather not have this visible since it effects a small number of games.

BlueSkyDefender avatar Dec 19 '23 04:12 BlueSkyDefender

Ok, no problem. I now know it's there for when I need it anyway, and people can search here too if they have issues. Thanks again, I appreciate you making this shader! It's my number 1 favorite :)

unhappy-ending avatar Dec 19 '23 09:12 unhappy-ending