diff options
Diffstat (limited to 'source/blender/blenkernel/intern/brush.c')
-rw-r--r-- | source/blender/blenkernel/intern/brush.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c index 307f97f1344..2464b3b2668 100644 --- a/source/blender/blenkernel/intern/brush.c +++ b/source/blender/blenkernel/intern/brush.c @@ -971,7 +971,7 @@ void BKE_brush_randomize_texture_coords(UnifiedPaintSettings *ups, bool mask) } } -/* Uses the brush curve control to find a strength value between 0 and 1 */ +/* Uses the brush curve control to find a strength value */ float BKE_brush_curve_strength(Brush *br, float p, const float len) { float strength; @@ -981,6 +981,15 @@ float BKE_brush_curve_strength(Brush *br, float p, const float len) strength = curvemapping_evaluateF(br->curve, 0, p); + return strength; +} + + +/* Uses the brush curve control to find a strength value between 0 and 1 */ +float BKE_brush_curve_strength_clamped(Brush *br, float p, const float len) +{ + float strength = BKE_brush_curve_strength(br, p, len); + CLAMP(strength, 0.0f, 1.0f); return strength; @@ -1042,7 +1051,7 @@ struct ImBuf *BKE_brush_gen_radial_control_imbuf(Brush *br, bool secondary) for (i = 0; i < side; ++i) { for (j = 0; j < side; ++j) { float magn = sqrtf(pow2f(i - half) + pow2f(j - half)); - im->rect_float[i * side + j] = BKE_brush_curve_strength(br, magn, half); + im->rect_float[i * side + j] = BKE_brush_curve_strength_clamped(br, magn, half); } } |