Fooled by DisplayDepth.fx?

  • Daodan
  • Topic Author
More
5 years 7 months ago #1 by Daodan Fooled by DisplayDepth.fx? was created by Daodan
While working on a shader I came across an issue regarding the depth-buffer. In some games it doesn't matter whether RESHADE_DEPTH_INPUT_IS_LOGARITHMIC is set to 1 or 0. DisplayDepth.fx shows you the depth-buffer regardless. But when it comes to using ReShade::GetLinearizedDepth() the results are quite different.

Here is an example (The Evil Within, d3d11)
The shaders used are: DisplayDepth.fx, MeshEdges.fx and qUINT_mxao.fx
In the images on the top: RESHADE_DEPTH_INPUT_IS_LOGARITHMIC=0
In the images on the bottom: RESHADE_DEPTH_INPUT_IS_LOGARITHMIC=1


What is going on there? Is it just that the values from the linear depth-buffer are in a range where they are still fairly linear after the conversion from logarithmic?

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

  • luluco250
More
5 years 6 months ago #2 by luluco250 Replied by luluco250 on topic Fooled by DisplayDepth.fx?
Small differences in the depth buffer are usually very difficult to tell apart through just the naked eye.

Also try changing some of the depth preprocessor settings/macros.

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

  • crosire
More
5 years 5 months ago #3 by crosire Replied by crosire on topic Fooled by DisplayDepth.fx?
I imagine the values are quite different, but since DisplayDepth is truncating everything to 8bit (because the monitor shows RGBA8), a lot of that is lost visually. You will notice it arithmetically though, like you noticed in your example.

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

We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.