diff options
Diffstat (limited to 'source/blender/draw/engines/overlay/shaders/edit_mesh_vert.glsl')
-rw-r--r-- | source/blender/draw/engines/overlay/shaders/edit_mesh_vert.glsl | 8 |
1 files changed, 6 insertions, 2 deletions
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..203f6cb1901 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(); @@ -69,6 +69,10 @@ void main() float bweight = float(m_data.w) / 255.0; finalColorOuter = EDIT_MESH_edge_color_outer(m_data.y, m_data.x, crease, bweight); + if (finalColorOuter.a > 0.0) { + gl_Position.z -= 5e-7 * abs(gl_Position.w); + } + bool occluded = false; /* Done in fragment shader */ #elif defined(FACE) |