[Bf-blender-cvs] [bcb12f6a6c1] soc-2019-npr: Gpencil: Fixed distance interpolation in multiply modifier.
YimingWu
noreply at git.blender.org
Fri Jul 5 05:27:54 CEST 2019
Commit: bcb12f6a6c1ba8cc23f76aff17619b8b4721991a
Author: YimingWu
Date: Fri Jul 5 11:27:16 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rBbcb12f6a6c1ba8cc23f76aff17619b8b4721991a
Gpencil: Fixed distance interpolation in multiply modifier.
===================================================================
M source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c
===================================================================
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c
index b90cdf9060e..07bff517b8e 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c
@@ -161,6 +161,8 @@ static void duplicateStroke(
pt = new_gps->points;
offset_factor = (float)i / (float)count;
+ float* result_array = MEM_callocN(sizeof(float)*3*new_gps->totpoints,"duplicate_temp_result_array");
+
for (int j = 0; j < new_gps->totpoints; j++) {
if (j == 0) {
minter_v3_v3v3v3_ref(minter, NULL, &pt[j].x, &pt[j + 1].x, stroke_normal);
@@ -174,8 +176,14 @@ static void duplicateStroke(
mul_v3_fl(minter, dist);
add_v3_v3v3(target1, &pt[j].x, minter);
sub_v3_v3v3(target2, &pt[j].x, minter);
- interp_v3_v3v3(&pt[j].x, target1, target2, offset_factor + offset / 2);
+ interp_v3_v3v3(&result_array[j*3], target1, target2, offset_factor + offset / 2);
+ }
+ for (int j = 0; j < new_gps->totpoints; j++) {
+ copy_v3_v3(&pt[j].x,&result_array[j*3]);
}
+
+ MEM_freeN(result_array);
+
}
}
More information about the Bf-blender-cvs
mailing list