reflect.3Cg

Langue: en

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

Section: 3 (Bibliothèques de fonctions)

NAME

reflect - returns the reflectiton vector given an incidence vector and a normal vector.

SYNOPSIS

   float  reflect(float  i, float  n);
   float2 reflect(float2 i, float2 n);
   float3 reflect(float3 i, float3 n);
   float4 reflect(float4 i, float4 n);
 
 
 

PARAMETERS


i
Incidence vector.
n
Normal vector.

DESCRIPTION

Returns the reflectiton vector given an incidence vector i and a normal vector n. The resulting vector is the identical number of components as the two input vectors.

The normal vector n should be normalized. If n is normalized, the output vector will have the same length as the input incidence vector i.

REFERENCE IMPLEMENTATION

reflect for float3 vectors could be implemented this way:
   float3 reflect( float3 i, float3 n )
   {
     return i - 2.0 * n * dot(n,i);
   }
 
 
 

PROFILE SUPPORT

reflect is supported in all profiles.

Support in the fp20 is limited.

SEE ALSO

dot, length, refract