boxstep
The boxstep function is somewhere between step and smoothstep. It is the result of the convolution of a box filter with a step edge. The width of the box filter is (b - a) and the slope of the ramp is 1/width.
- boxstep(a, b, x)
- Returns 0 when (x <= a), 1 when (x >= b), a linear transition from 0 to 1 when (a < x < b), or (-1) on error (a == b).
COPY/// @func boxstep(a, b, x)
///
/// @desc Returns 0 when (x <= a), 1 when (x >= b), a linear transition
/// from 0 to 1 when (a < x < b), or (-1) on error (a == b).
///
/// @param {real} a lower bound
/// @param {real} b upper bound
/// @param {real} x value
///
/// @return {real} value between 0 and 1
///
/// GMLscripts.com/license
function boxstep(a, b, x)
{
if (a == b) return (-1);
var p = (x - a) / (b - a);
return clamp(p, 0, 1);
}
Contributors: xot
GitHub: View · Commits · Blame · Raw