saturate.3Cg

Langue: en

Version: 353893 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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