[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