Fooled by DisplayDepth.fx?

  • Daodan
  • Topic Author
More
7 years 1 week 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
6 years 11 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
6 years 10 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.