diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2020-05-03 14:33:58 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2020-05-03 14:34:35 +0300 |
commit | 1a6119c8e467f23ae83be12c66b30c5e785700aa (patch) | |
tree | a42fcdc8613b5c55ca86914ecc1ce28e4103cc30 /source/blender/editors/gpencil/gpencil_paint.c | |
parent | 1623fdb3bc55af84f07f9f17c4649754749b9afa (diff) |
GPencil: More changes to improve Chisel brush
More small tweaks to get the right "feeling" when drawing.
The defaults has been tested by @pepeland.
Diffstat (limited to 'source/blender/editors/gpencil/gpencil_paint.c')
-rw-r--r-- | source/blender/editors/gpencil/gpencil_paint.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c index 561104b0b98..961c4e05a28 100644 --- a/source/blender/editors/gpencil/gpencil_paint.c +++ b/source/blender/editors/gpencil/gpencil_paint.c @@ -515,7 +515,6 @@ static void gp_brush_angle(bGPdata *gpd, Brush *brush, tGPspoint *pt, const floa float mvec[2]; float sen = brush->gpencil_settings->draw_angle_factor; /* sensitivity */ float fac; - float mpressure; /* default angle of brush in radians */ float angle = brush->gpencil_settings->draw_angle; @@ -543,9 +542,7 @@ static void gp_brush_angle(bGPdata *gpd, Brush *brush, tGPspoint *pt, const floa fac = 1.0f - fabs(dot_v2v2(v0, mvec)); /* 0.0 to 1.0 */ /* interpolate with previous point for smoother transitions */ - mpressure = interpf(pt->pressure - (sen * fac), (pt - 1)->pressure, 0.3f); - pt->pressure = mpressure; - + pt->pressure = interpf(pt->pressure - (sen * fac), (pt - 1)->pressure, 0.3f); CLAMP(pt->pressure, GPENCIL_ALPHA_OPACITY_THRESH, 1.0f); } } @@ -3160,9 +3157,8 @@ static void gp_brush_angle_segment(tGPsdata *p, tGPspoint *pt_prev, tGPspoint *p normalize_v2(mvec); fac = 1.0f - fabs(dot_v2v2(v0, mvec)); /* 0.0 to 1.0 */ /* interpolate with previous point for smoother transitions */ - pt->pressure = interpf(pt->pressure - (sen * fac), pt_prev->pressure, 0.5f); - - CLAMP(pt->pressure, pt_prev->pressure * 0.5f, 1.0f); + pt->pressure = interpf(pt->pressure - (sen * fac), pt_prev->pressure, 0.3f); + CLAMP(pt->pressure, GPENCIL_ALPHA_OPACITY_THRESH, 1.0f); } /* Add arc points between two mouse events using the previous segment to determine the vertice of @@ -3251,7 +3247,7 @@ static void gpencil_add_arc_points(tGPsdata *p, float mval[2], int segments) /* Apply angle of stroke to brush size to interpolated points but slightly attenuated.. */ if (brush_settings->draw_angle_factor != 0.0f) { gp_brush_angle_segment(p, pt_step, pt); - CLAMP(pt->pressure, pt_prev->pressure * 0.8f, 1.0f); + CLAMP(pt->pressure, pt_prev->pressure * 0.5f, 1.0f); /* Use the previous interpolated point for next segment. */ pt_step = pt; } |