smoothstep - perform Hermite interpolation between two values
Contents
Copyright
Copyright © 2011-2014 Khronos Group
[FIXME: source] 11/18/2024 SMOOTHSTEP(3G)
Declaration
genTypesmoothstep(genTypeedge0,genTypeedge1,genTypex);genTypesmoothstep(floatedge0,floatedge1,genTypex);genDTypesmoothstep(genDTypeedge0,genDTypeedge1,genDTypex);genDTypesmoothstep(doubleedge0,doubleedge1,genDTypex);
Description
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);
Results are undefined if edge0 ≥ edge1.
Name
smoothstep - perform Hermite interpolation between two values
Parameters
edge0
Specifies the value of the lower edge of the Hermite function.
edge1
Specifies the value of the upper edge of the Hermite function.
x
Specifies the source value for interpolation.
See Also
mix(), step()
Version Support
┌────────────┬───────────────────────────────────────────────────────────────────────────────────┐
│ │ OpenGLShadingLanguageVersion │
├────────────┼──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┤
│ Function │ 1.10 │ 1.20 │ 1.30 │ 1.40 │ 1.50 │ 3.30 │ 4.00 │ 4.10 │ 4.20 │ 4.30 │ 4.40 │ 4.50 │
│ Name │ │ │ │ │ │ │ │ │ │ │ │ │
├────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
│ smoothstep │ - │ - │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │
│ (genType) │ │ │ │ │ │ │ │ │ │ │ │ │
├────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
│ smoothstep │ - │ - │ - │ - │ - │ - │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │ ✔ │
│ (genDType) │ │ │ │ │ │ │ │ │ │ │ │ │
└────────────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
