Paint: Smoother curve preset
This implements a 5th-order equation smoothstep, which produces a flat surface at the brush center. Some users find that our current grab brush is too sharp, so now we have both options. This also improves the behavior of the new clay brushes. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6265
This commit is contained in:
parent
2ff1919b45
commit
71ddcf1a08
|
@ -1576,6 +1576,9 @@ float BKE_brush_curve_strength(const Brush *br, float p, const float len)
|
|||
case BRUSH_CURVE_SMOOTH:
|
||||
strength = 3.0f * p * p - 2.0f * p * p * p;
|
||||
break;
|
||||
case BRUSH_CURVE_SMOOTHER:
|
||||
strength = pow3f(p) * (p * (p * 6.0f - 15.0f) + 10.0f);
|
||||
break;
|
||||
case BRUSH_CURVE_ROOT:
|
||||
strength = sqrtf(p);
|
||||
break;
|
||||
|
|
|
@ -199,6 +199,7 @@ typedef enum eBrushCurvePreset {
|
|||
BRUSH_CURVE_POW4 = 6,
|
||||
BRUSH_CURVE_INVSQUARE = 7,
|
||||
BRUSH_CURVE_CONSTANT = 8,
|
||||
BRUSH_CURVE_SMOOTHER = 9,
|
||||
} eBrushCurvePreset;
|
||||
|
||||
typedef enum eBrushElasticDeformType {
|
||||
|
|
|
@ -1599,6 +1599,7 @@ static void rna_def_brush(BlenderRNA *brna)
|
|||
static const EnumPropertyItem brush_curve_preset_items[] = {
|
||||
{BRUSH_CURVE_CUSTOM, "CUSTOM", ICON_RNDCURVE, "Custom", ""},
|
||||
{BRUSH_CURVE_SMOOTH, "SMOOTH", ICON_SMOOTHCURVE, "Smooth", ""},
|
||||
{BRUSH_CURVE_SMOOTHER, "SMOOTHER", ICON_SMOOTHCURVE, "Smoother", ""},
|
||||
{BRUSH_CURVE_SPHERE, "SPHERE", ICON_SPHERECURVE, "Sphere", ""},
|
||||
{BRUSH_CURVE_ROOT, "ROOT", ICON_ROOTCURVE, "Root", ""},
|
||||
{BRUSH_CURVE_SHARP, "SHARP", ICON_SHARPCURVE, "Sharp", ""},
|
||||
|
|
Loading…
Reference in New Issue