Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c')
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
index cd29a006aae..1a38b91a18b 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
@@ -129,14 +129,6 @@ static void deformStroke(GpencilModifierData *md,
}
}
}
- /* Calculate Random matrix. */
- float mat_rnd[4][4];
- float rnd_loc[3], rnd_rot[3];
- float rnd_scale[3] = {1.0f, 1.0f, 1.0f};
- mul_v3_v3v3(rnd_loc, mmd->rnd_offset, rand[0]);
- mul_v3_v3v3(rnd_rot, mmd->rnd_rot, rand[1]);
- madd_v3_v3v3(rnd_scale, mmd->rnd_scale, rand[2]);
- loc_eul_size_to_mat4(mat_rnd, rnd_loc, rnd_rot, rnd_scale);
bGPdata *gpd = ob->data;
@@ -150,6 +142,21 @@ static void deformStroke(GpencilModifierData *md,
if (weight < 0.0f) {
continue;
}
+
+ /* Calculate Random matrix. */
+ float mat_rnd[4][4];
+ float rnd_loc[3], rnd_rot[3], rnd_scale_weight[3];
+ float rnd_scale[3] = {1.0f, 1.0f, 1.0f};
+
+ mul_v3_v3fl(rnd_loc, rand[0], weight);
+ mul_v3_v3fl(rnd_rot, rand[1], weight);
+ mul_v3_v3fl(rnd_scale_weight, rand[2], weight);
+
+ mul_v3_v3v3(rnd_loc, mmd->rnd_offset, rnd_loc);
+ mul_v3_v3v3(rnd_rot, mmd->rnd_rot, rnd_rot);
+ madd_v3_v3v3(rnd_scale, mmd->rnd_scale, rnd_scale_weight);
+
+ loc_eul_size_to_mat4(mat_rnd, rnd_loc, rnd_rot, rnd_scale);
/* Apply randomness matrix. */
mul_m4_v3(mat_rnd, &pt->x);