diff options
author | Charlie Jolly <mistajolly@gmail.com> | 2018-12-19 15:18:16 +0300 |
---|---|---|
committer | Charlie Jolly <mistajolly@gmail.com> | 2018-12-19 15:18:45 +0300 |
commit | dad260c164adf0f86853e2f8046916739fccaffd (patch) | |
tree | 39f7386aa14bffca7282b1b28e0fed9a28304a28 /source/blender/editors/gpencil/gpencil_primitive.c | |
parent | ac8cde69f50ec5e8b3af7e8538006dc011b1c541 (diff) |
GP: Primitive: Fix jitter
Missing vector calculation.
Diffstat (limited to 'source/blender/editors/gpencil/gpencil_primitive.c')
-rw-r--r-- | source/blender/editors/gpencil/gpencil_primitive.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/source/blender/editors/gpencil/gpencil_primitive.c b/source/blender/editors/gpencil/gpencil_primitive.c index d856c1859bb..a2f9de39940 100644 --- a/source/blender/editors/gpencil/gpencil_primitive.c +++ b/source/blender/editors/gpencil/gpencil_primitive.c @@ -826,12 +826,27 @@ static void gp_primitive_update_strokes(bContext *C, tGPDprimitive *tgpi) /* exponential value */ const float exfactor = SQUARE(brush->gpencil_settings->draw_jitter + 2.0f); const float fac = p2d->rnd[0] * exfactor * jitter; + + /* vector */ + float mvec[2], svec[2];; + if (i > 0) { + mvec[0] = (p2d->x - (p2d - 1)->x); + mvec[1] = (p2d->y - (p2d - 1)->y); + normalize_v2(mvec); + } + else { + zero_v2(mvec); + } + svec[0] = -mvec[1]; + svec[1] = mvec[0]; + if (p2d->rnd[0] > 0.5f) { - add_v2_fl(&p2d->x, -fac); + mul_v2_fl(svec, -fac); } else { - add_v2_fl(&p2d->x, fac); + mul_v2_fl(svec, fac); } + add_v2_v2(&p2d->x, svec); } /* apply randomness to pressure */ |