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