Find the word definition

Wikipedia
Smoothstep

Smoothstep is an interpolation function commonly used in computer graphics and video game engines.

The function depends on two parameters, the "left edge" and the "right edge", with the left edge being assumed smaller than the right edge. The function takes a real number x as input and outputs 0 if x is less than or equal to the left edge, 1 if x is greater than or equal to the right edge, and smoothly interpolates between 0 and 1 otherwise. The slope of the smoothstep function is zero at both edges. This makes it easy to create a sequence of transitions using smoothstep to interpolate each segment rather than using a more sophisticated or expensive interpolation technique.

As pointed out in MSDN and OpenGL documentation, smoothstep implements cubic Hermite interpolation after doing a clamp:


smoothstep(x) = 3x − 2x

where we assume that the left edge is 0, the right edge is 1, and 0 ≤ x ≤ 1.

A C/C++ example implementation provided by AMD follows.

float smoothstep(float edge0, float edge1, float x) { // Scale, bias and saturate x to 0..1 range x = clamp((x - edge0)/(edge1 - edge0), 0.0, 1.0); // Evaluate polynomial return x*x*(3 - 2*x); }