diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-11-16 02:12:45 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-11-16 02:13:06 +0300 |
commit | 23c3124b567dc53996f85f52440efa81393bc24e (patch) | |
tree | 94db566918f96b5d994dd6ddbbf700c38e40fe7b /source/blender/draw/modes/shaders/edit_mesh_overlay_vert.glsl | |
parent | 98765e370093e088022145e841421f7a7e1da368 (diff) |
Edit Mesh: Improve mesh cage drawing / fix errors and cleanup
* Fixes vertices with bad coloring. Now vertices draw with depth write so
they occlude the underlying face geom overlay, avoiding double drawing the
vertex.
* Decrease the z_offset of edges so they don't poke too much through
geometry. Also delete this offset in ortho view.
* Add zoffset to active and selected vertices so they always draw on top
if they overlap a non selected vertex.
* Fix alpha of edge_fix in vertex selection mode
Diffstat (limited to 'source/blender/draw/modes/shaders/edit_mesh_overlay_vert.glsl')
-rw-r--r-- | source/blender/draw/modes/shaders/edit_mesh_overlay_vert.glsl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_vert.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_vert.glsl index f1ebb419d60..e4268188e09 100644 --- a/source/blender/draw/modes/shaders/edit_mesh_overlay_vert.glsl +++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_vert.glsl @@ -29,7 +29,7 @@ out float vFacing; void main() { pPos = ModelViewProjectionMatrix * vec4(pos, 1.0); - pPos.z -= ofs; + pPos.z -= ofs * ((ProjectionMatrix[3][3] == 0.0) ? 1.0 : 0.0); vData = data & dataMask; # ifdef VERTEX_FACING vec4 vpos = ModelViewMatrix * vec4(pos, 1.0); @@ -59,7 +59,7 @@ out vec3 barycentric; void main() { gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0); - gl_Position.z -= ofs; + gl_Position.z -= ofs * ((ProjectionMatrix[3][3] == 0.0) ? 1.0 : 0.0); int v_0 = (gl_VertexID / 3) * 3; int vidx = gl_VertexID % 3; |