--- layout: stdlib-reference --- # smoothstep ## Description Smooth step (Hermite interpolation). ## Signature
T smoothstep<T>(
T min,
T max,
T x)
where T : __BuiltinFloatingPointType;
vector<T, N> smoothstep<T, N:int>(
vector<T, N> min,
vector<T, N> max,
vector<T, N> x)
where T : __BuiltinFloatingPointType;
matrix<T, N, M> smoothstep<T, N:int, M:int>(
matrix<T, N, M> min,
matrix<T, N, M> max,
matrix<T, N, M> x)
where T : __BuiltinFloatingPointType;
## Generic Parameters
#### T: [\_\_BuiltinFloatingPointType](../interfaces/0_builtinfloatingpointtype-029hm/index.html)
#### N : int
#### M : int
## Parameters
#### min : [T](smoothstep.html#typeparam-T)
The lower edge of the interpolation range.
#### max : [T](smoothstep.html#typeparam-T)
The upper edge of the interpolation range.
#### x : [T](smoothstep.html#typeparam-T)
The value to interpolate.
#### min : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\>
The lower edge of the interpolation range.
#### max : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\>
The upper edge of the interpolation range.
#### x : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\>
The value to interpolate.
#### min : [matrix](../types/matrix/index.html)\<[T](../types/matrix/t-0.html), [N](../types/matrix/index.html#decl-N), [M](../types/matrix/index.html#decl-M)\>
The lower edge of the interpolation range.
#### max : [matrix](../types/matrix/index.html)\<[T](../types/matrix/t-0.html), [N](../types/matrix/index.html#decl-N), [M](../types/matrix/index.html#decl-M)\>
The upper edge of the interpolation range.
#### x : [matrix](../types/matrix/index.html)\<[T](../types/matrix/t-0.html), [N](../types/matrix/index.html#decl-N), [M](../types/matrix/index.html#decl-M)\>
The value to interpolate.
## Return value
0 if x is less than min, 1 if x is greater than max, and a smooth interpolation between 0 and 1 otherwise.
## Availability and Requirements
Defined for the following targets:
#### hlsl
Available in all stages.
#### glsl
Available in all stages.
#### cpp
Available in all stages.
#### cuda
Available in all stages.
#### metal
Available in all stages.
#### wgsl
Available in all stages.
#### spirv
Available in all stages.