Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-11-16 02:12:45 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-11-16 02:13:06 +0300
commit23c3124b567dc53996f85f52440efa81393bc24e (patch)
tree94db566918f96b5d994dd6ddbbf700c38e40fe7b /source/blender/draw/modes/shaders/edit_mesh_overlay_vert.glsl
parent98765e370093e088022145e841421f7a7e1da368 (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.glsl4
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;