smoothstep — perform Hermite interpolation between two values
genType smoothstep( | genType edge0, |
| genType edge1, | |
genType x); |
genType smoothstep( | float edge0, |
| float edge1, | |
genType x); |
edge0Specifies the value of the lower edge of the Hermite function.
edge1Specifies the value of the upper edge of the Hermite function.
xSpecifies the source value for interpolation.
smoothstep performs smooth Hermite interpolation between 0 and
1 when edge0 < x < edge1.
This is useful in cases where a threshold function with a smooth transition is desired.
smoothstep is equivalent to:
genType t; /* Or genDType t; */
t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
return t * t * (3.0 - 2.0 * t);
smoothstep returns 0.0 if x ≤ edge0 and
1.0 if x ≥ edge1.
Results are undefined if edge0 ≥ edge1.