[Bf-blender-cvs] [935198aa8ae] greasepencil-refactor: GPencil: Refactor: Fix miter of endpoints

Clément Foucault noreply at git.blender.org
Mon Dec 9 13:31:32 CET 2019


Commit: 935198aa8aebec2f4e432958d50ae111d1d45ccd
Author: Clément Foucault
Date:   Mon Dec 9 13:35:47 2019 +0100
Branches: greasepencil-refactor
https://developer.blender.org/rB935198aa8aebec2f4e432958d50ae111d1d45ccd

GPencil: Refactor: Fix miter of endpoints

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

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

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

diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl
index acd92000ec7..a70929e235f 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl
@@ -83,8 +83,11 @@ void stroke_vertex()
   /* Mitter tangent vector. */
   vec2 miter_tan = normalize(line_adj + line);
   float miter_dot = dot(miter_tan, line_adj);
+  /* Break corners after a certain angle to avoid really thick corners. */
+  const float miter_limit = 0.7071; /* cos(45°) */
+  miter_tan = (miter_dot < miter_limit) ? line : (miter_tan / miter_dot);
 
-  vec2 miter = rotate_90deg(miter_tan / miter_dot);
+  vec2 miter = rotate_90deg(miter_tan);
 
   /* Position contains thickness in 4th component. */
   float thickness = (x == 0.0) ? pos1.w : pos2.w;



More information about the Bf-blender-cvs mailing list