[Bf-blender-cvs] [d0ff3434cff] blender-v2.83-release: Fix T73741 Grid Floor render on top of Wireframe objects

Clément Foucault noreply at git.blender.org
Thu Apr 23 22:21:38 CEST 2020


Commit: d0ff3434cffa2e056e4f191ead21226f32ea8c15
Author: Clément Foucault
Date:   Thu Apr 23 22:21:22 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBd0ff3434cffa2e056e4f191ead21226f32ea8c15

Fix T73741 Grid Floor render on top of Wireframe objects

Go for a bias towards background to avoid loosing wireframe objects.

===================================================================

M	source/blender/draw/engines/overlay/shaders/grid_frag.glsl

===================================================================

diff --git a/source/blender/draw/engines/overlay/shaders/grid_frag.glsl b/source/blender/draw/engines/overlay/shaders/grid_frag.glsl
index db845c7f1dd..9743f918ce3 100644
--- a/source/blender/draw/engines/overlay/shaders/grid_frag.glsl
+++ b/source/blender/draw/engines/overlay/shaders/grid_frag.glsl
@@ -227,21 +227,20 @@ void main()
     }
   }
 
-  /* Add a small bias so the grid will always
-   * be on top of a mesh with the same depth. */
-  float grid_depth = gl_FragCoord.z - 6e-8 - fwidth(gl_FragCoord.z);
   float scene_depth = texelFetch(depthBuffer, ivec2(gl_FragCoord.xy), 0).r;
   if ((gridFlag & GRID_BACK) != 0) {
     fade *= (scene_depth == 1.0) ? 1.0 : 0.0;
   }
   else {
+    /* Add a small bias so the grid will always be below of a mesh with the same depth. */
+    float grid_depth = gl_FragCoord.z + 4.8e-7;
     /* Manual, non hard, depth test:
      * Progressively fade the grid below occluders
      * (avoids popping visuals due to depth buffer precision) */
     /* Harder settings tend to flicker more,
      * but have less "see through" appearance. */
-    const float test_hardness = 1e7;
-    fade *= 1.0 - clamp((grid_depth - scene_depth) * test_hardness, 0.0, 1.0);
+    float bias = max(fwidth(gl_FragCoord.z), 2.4e-7);
+    fade *= linearstep(grid_depth, grid_depth + bias, scene_depth);
   }
 
   FragColor.a *= fade;



More information about the Bf-blender-cvs mailing list