[Bf-blender-cvs] [a494be2f2ed] master: Fix T63979: GPencil control points hidden in orthographic mode

Antonioya noreply at git.blender.org
Mon Apr 29 17:21:02 CEST 2019


Commit: a494be2f2ed0d6dcda8358d261afd4c8c3f65202
Author: Antonioya
Date:   Mon Apr 29 17:20:54 2019 +0200
Branches: master
https://developer.blender.org/rBa494be2f2ed0d6dcda8358d261afd4c8c3f65202

Fix T63979: GPencil control points hidden in orthographic mode

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

M	source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_geom.glsl

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

diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_geom.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_geom.glsl
index b5d0a5bce71..8c3fd022004 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_geom.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_geom.glsl
@@ -16,6 +16,12 @@ vec2 toScreenSpace(vec4 vertex)
   return vec2(vertex.xy / vertex.w) * Viewport;
 }
 
+/* get zdepth value */
+float getZdepth(vec4 point)
+{
+  return min(-0.05, (point.z / point.w));
+}
+
 void main(void)
 {
   vec4 P0 = gl_in[0].gl_Position;
@@ -26,22 +32,22 @@ void main(void)
   /* generate the triangle strip */
   mTexCoord = vec2(0, 1);
   mColor = finalColor[0];
-  gl_Position = vec4(vec2(sp0.x - size, sp0.y + size) / Viewport, 0, 1.0);
+  gl_Position = vec4(vec2(sp0.x - size, sp0.y + size) / Viewport, getZdepth(P0), 1.0);
   EmitVertex();
 
   mTexCoord = vec2(0, 0);
   mColor = finalColor[0];
-  gl_Position = vec4(vec2(sp0.x - size, sp0.y - size) / Viewport, 0, 1.0);
+  gl_Position = vec4(vec2(sp0.x - size, sp0.y - size) / Viewport, getZdepth(P0), 1.0);
   EmitVertex();
 
   mTexCoord = vec2(1, 1);
   mColor = finalColor[0];
-  gl_Position = vec4(vec2(sp0.x + size, sp0.y + size) / Viewport, 0, 1.0);
+  gl_Position = vec4(vec2(sp0.x + size, sp0.y + size) / Viewport, getZdepth(P0), 1.0);
   EmitVertex();
 
   mTexCoord = vec2(1, 0);
   mColor = finalColor[0];
-  gl_Position = vec4(vec2(sp0.x + size, sp0.y - size) / Viewport, 0, 1.0);
+  gl_Position = vec4(vec2(sp0.x + size, sp0.y - size) / Viewport, getZdepth(P0), 1.0);
   EmitVertex();
 
   EndPrimitive();



More information about the Bf-blender-cvs mailing list