[Bf-blender-cvs] [34da576beac] greasepencil-object: GPencil: Fix error in previous commit with interpolate factor

Antonio Vazquez noreply at git.blender.org
Mon Oct 14 16:26:26 CEST 2019


Commit: 34da576beac7687dafafbffec6e706bc58e78eca
Author: Antonio Vazquez
Date:   Mon Oct 14 16:26:11 2019 +0200
Branches: greasepencil-object
https://developer.blender.org/rB34da576beac7687dafafbffec6e706bc58e78eca

GPencil: Fix error in previous commit with interpolate factor

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

M	source/blender/editors/gpencil/gpencil_paint.c

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

diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index 9e2599e3d7e..01778d74870 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -803,14 +803,17 @@ static void gp_add_arc_segments(tGPsdata *p)
   corner[0] = midpoint[0] - (cp1[0] - midpoint[0]);
   corner[1] = midpoint[1] - (cp1[1] - midpoint[1]);
 
+  float fi = 1.0f / (float)(segments + 1.0f);
   for (int i = 0; i < segments; i++) {
     pt = &points[idx + i - 1];
     pt->x = corner[0] + (end[0] - corner[0]) * sinf(a) + (start[0] - corner[0]) * cosf(a);
     pt->y = corner[1] + (end[1] - corner[1]) * sinf(a) + (start[1] - corner[1]) * cosf(a);
 
     /* Interpolate values */
-    pt->pressure = interpf(pt_prev->pressure, pt_cur->pressure, M_PI_2 / a);
-    pt->strength = interpf(pt_prev->strength, pt_cur->strength, M_PI_2 / a);
+    float f = fi * (float)(i + 1.0f);
+    pt->pressure = interpf(pt_cur->pressure, pt_prev->pressure, f);
+    pt->strength = interpf(pt_cur->strength, pt_prev->strength, f);
+
     a += step;
   }
 }



More information about the Bf-blender-cvs mailing list