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