Name
saturate - returns smallest integer not less than a scalar or each vector component.
Synopsis
float saturate(float x);
float1 saturate(float1 x);
float2 saturate(float2 x);
float3 saturate(float3 x);
float4 saturate(float4 x);
half saturate(half x);
half1 saturate(half1 x);
half2 saturate(half2 x);
half3 saturate(half3 x);
half4 saturate(half4 x);
fixed saturate(fixed x);
fixed1 saturate(fixed1 x);
fixed2 saturate(fixed2 x);
fixed3 saturate(fixed3 x);
fixed4 saturate(fixed4 x);
Parameters
- x
-
Vector or scalar to saturate.
Description
Returns x saturated to the range [0,1] as follows:
-
1) Returns 0 if x is less than 0; else
-
2) Returns 1 if x is greater than 1; else
-
3) Returns x otherwise.
For vectors, the returned vector contains the saturated result of each
element of the vector x saturated to [0,1].
Reference Implementation
saturate for float scalars could be implemented like this.
float saturate(float x)
{
return max(0, min(1, x));
}
Profile Support
saturate is supported in all profiles.
saturate is very efficient in the fp20, fp30, and fp40 profiles.
See Also
clamp, max, min
|