GPencil: Fix unreported random rotation for single point with texture
authorAntonio Vazquez <blendergit@gmail.com>
Fri, 28 May 2021 15:14:01 +0000 (17:14 +0200)
committerAntonio Vazquez <blendergit@gmail.com>
Fri, 28 May 2021 15:15:44 +0000 (17:15 +0200)
When using ``Path`` alignment, if the stroke has one point the texture rotates randomly when move the viewport. This was because with one point is impossible to calculate a path.

Now, if the stroke has only one point, the texture for this stroke is aligned to Object.

source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl

index 7412959a30bb1437bd7c2b405221e832cd6a59de..ac48b94fea9336a58efe36584157bc2473e13b83 100644 (file)
@@ -442,6 +442,10 @@ void stroke_vertex()
   if (is_dot) {
 #  ifdef GP_MATERIAL_BUFFER_LEN
     int alignement = GP_FLAG(m) & GP_STROKE_ALIGNMENT;
+    /* For one point strokes use object aligment. */
+    if (ma.x == -1 && ma2.x == -1 && alignement == GP_STROKE_ALIGNMENT_STROKE) {
+      alignement = GP_STROKE_ALIGNMENT_OBJECT;
+    }
 #  endif
 
     vec2 x_axis;