diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-04-08 10:03:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-08 10:03:42 +0200 |
commit | d211aff777ec338a5f57cece1c7bf76120d0622d (patch) | |
tree | c7d6a922eb7e7a5dd3995c366848f39c82338220 /core/math/expression.cpp | |
parent | 5a64c679cfc5463afd4a703b1c6e437d894b22b1 (diff) | |
parent | 514a3fb96a6ad97eb9488cacba7143566cb17d27 (diff) | |
download | redot-engine-d211aff777ec338a5f57cece1c7bf76120d0622d.tar.gz |
Merge pull request #27231 from Chaosus/smoothstep
Added smoothstep built-in function
Diffstat (limited to 'core/math/expression.cpp')
-rw-r--r-- | core/math/expression.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/math/expression.cpp b/core/math/expression.cpp index 708054e4ab..05b49f0815 100644 --- a/core/math/expression.cpp +++ b/core/math/expression.cpp @@ -68,6 +68,7 @@ const char *Expression::func_name[Expression::FUNC_MAX] = { "lerp", "inverse_lerp", "range_lerp", + "smoothstep", "dectime", "randomize", "randi", @@ -185,6 +186,7 @@ int Expression::get_func_argument_count(BuiltinFunc p_func) { return 2; case MATH_LERP: case MATH_INVERSE_LERP: + case MATH_SMOOTHSTEP: case MATH_DECTIME: case MATH_WRAP: case MATH_WRAPF: @@ -392,6 +394,12 @@ void Expression::exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant VALIDATE_ARG_NUM(4); *r_return = Math::range_lerp((double)*p_inputs[0], (double)*p_inputs[1], (double)*p_inputs[2], (double)*p_inputs[3], (double)*p_inputs[4]); } break; + case MATH_SMOOTHSTEP: { + VALIDATE_ARG_NUM(0); + VALIDATE_ARG_NUM(1); + VALIDATE_ARG_NUM(2); + *r_return = Math::smoothstep((double)*p_inputs[0], (double)*p_inputs[1], (double)*p_inputs[2]); + } break; case MATH_DECTIME: { VALIDATE_ARG_NUM(0); |