23 const float stroke_factor,
32 float random_factor = 0.0f;
35 constexpr float noise_scale = 1 / 20.0f;
39 random_factor = stroke_factor;
48 return math::max(randomized_radius, 0.0f);
52 const float stroke_factor,
61 float random_factor = 0.0f;
64 constexpr float noise_scale = 1 / 20.0f;
68 random_factor = stroke_factor;
81 const float stroke_factor,
86 if (!use_random || !(settings.
uv_random > 0.0f)) {
89 float random_factor = 0.0f;
92 constexpr float noise_scale = 1 / 20.0f;
96 random_factor = stroke_factor;
109 const float stroke_factor,
110 const float pressure)
113 if (!use_random || !(settings.
uv_random > 0.0f)) {
116 float random_factor = 0.0f;
118 random_factor = rng.
get_float() * 2.0f - 1.0f;
121 random_factor = stroke_factor;
133 const std::optional<BrushColorJitterSettings> &jitter,
134 const float stroke_hue_factor,
135 const float stroke_saturation_factor,
136 const float stroke_value_factor,
139 const float pressure)
142 if (!use_random || !jitter) {
146 stroke_hue_factor, stroke_saturation_factor, stroke_value_factor};
151 return {jittered[0], jittered[1], jittered[2],
color.a};
blender::float3 BKE_paint_randomize_color(const BrushColorJitterSettings &color_jitter, const blender::float3 &initial_hsv_jitter, const float distance, const float pressure, const blender::float3 &color)
@ GP_BRUSH_USE_STRENGTH_RAND_PRESS
@ GP_BRUSH_USE_STRENGTH_AT_STROKE
@ GP_BRUSH_USE_UV_RAND_PRESS
@ GP_BRUSH_USE_PRESS_AT_STROKE
@ GP_BRUSH_USE_UV_AT_STROKE
@ GP_BRUSH_USE_PRESSURE_RAND_PRESS
float distance(VecOp< float, D >, VecOp< float, D >) RET
float randomize_rotation(const BrushGpencilSettings &settings, const float stroke_factor, const float distance, const float pressure)
float randomize_opacity(const BrushGpencilSettings &settings, const float stroke_factor, const float distance, const float opacity, const float pressure)
ColorGeometry4f randomize_color(const BrushGpencilSettings &settings, const std::optional< BrushColorJitterSettings > &jitter, const float stroke_hue_factor, const float stroke_saturation_factor, const float stroke_value_factor, const float distance, const ColorGeometry4f color, const float pressure)
float randomize_radius(const BrushGpencilSettings &settings, const float stroke_factor, const float distance, const float radius, const float pressure)
T clamp(const T &a, const T &min, const T &max)
T interpolate(const T &a, const T &b, const FactorT &t)
T max(const T &a, const T &b)
float perlin_signed(float position)
VecBase< float, 2 > float2
ColorSceneLinear4f< eAlpha::Premultiplied > ColorGeometry4f
VecBase< float, 3 > float3
struct CurveMapping * curve_rand_pressure
struct CurveMapping * curve_rand_strength
float draw_random_strength
struct CurveMapping * curve_rand_uv