diff --git a/source/blender/modifiers/intern/MOD_grease_pencil_opacity.cc b/source/blender/modifiers/intern/MOD_grease_pencil_opacity.cc index d1f442124c6..3837643f263 100644 --- a/source/blender/modifiers/intern/MOD_grease_pencil_opacity.cc +++ b/source/blender/modifiers/intern/MOD_grease_pencil_opacity.cc @@ -162,10 +162,9 @@ static void modify_softness(const GreasePencilOpacityModifierData &omd, bke::SpanAttributeWriter softness = attributes.lookup_or_add_for_write_span( "softness", bke::AttrDomain::Curve); - const float factor = 1.0f - omd.hardness_factor; - curves_mask.foreach_index(GrainSize(512), [&](int64_t curve_i) { - softness.span[curve_i] = std::clamp(softness.span[curve_i] * factor, 0.0f, 1.0f); + softness.span[curve_i] = + 1.0f - std::clamp((1.0f - softness.span[curve_i]) * omd.hardness_factor, 0.0f, 1.0f); }); softness.finish();