[Bf-blender-cvs] [0b57ecc665c] master: Overlay: Edit Mesh: Make offset depth dependent (w.r.t depth precision)

Clément Foucault noreply at git.blender.org
Sun Mar 29 20:49:36 CEST 2020


Commit: 0b57ecc665cdf37f1e24bfb293fa56c2279aac0f
Author: Clément Foucault
Date:   Sun Mar 29 20:37:44 2020 +0200
Branches: master
https://developer.blender.org/rB0b57ecc665cdf37f1e24bfb293fa56c2279aac0f

Overlay: Edit Mesh: Make offset depth dependent (w.r.t depth precision)

The previous offset was done in view space. It is now done in NDC space
to avoid differences when adjusting the near/far plane distances.

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

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

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

diff --git a/source/blender/draw/engines/overlay/shaders/edit_mesh_vert.glsl b/source/blender/draw/engines/overlay/shaders/edit_mesh_vert.glsl
index 768b0596d17..84dbf85816f 100644
--- a/source/blender/draw/engines/overlay/shaders/edit_mesh_vert.glsl
+++ b/source/blender/draw/engines/overlay/shaders/edit_mesh_vert.glsl
@@ -48,10 +48,10 @@ void main()
   gl_PointSize = sizeVertex * 2.0;
   /* Make selected and active vertex always on top. */
   if ((data.x & VERT_SELECTED) != 0) {
-    gl_Position.z -= 1e-7;
+    gl_Position.z -= 5e-7 * abs(gl_Position.w);
   }
   if ((data.x & VERT_ACTIVE) != 0) {
-    gl_Position.z -= 1e-7;
+    gl_Position.z -= 5e-7 * abs(gl_Position.w);
   }
 
   bool occluded = test_occlusion();



More information about the Bf-blender-cvs mailing list