normalize

> # NAME

> normalize - normalizes a vector

> # SYNOPSIS

>       float normalize(float v);
>       float normalize(float1 v);
>       float normalize(float2 v);
>       float normalize(float3 v);
>       float normalize(float4 v);

>       half normalize(half v);
>       half normalize(half1 v);
>       half normalize(half2 v);
>       half normalize(half3 v);
>       half normalize(half4 v);

>       fixed normalize(fixed v);
>       fixed normalize(fixed1 v);
>       fixed normalize(fixed2 v);
>       fixed normalize(fixed3 v);
>       fixed normalize(fixed4 v);

> # PARAMETERS

> v

>   Vector to normalize.

> # DESCRIPTION

> Returns the normalized version of a vector, meaning a vector in the same direction as the original vector but with a Euclidean length of one.

> # REFERENCE IMPLEMENTATION

> normalize for a float3 vector could be implemented like this.

>       float3 normalize(float3 v)
>       {
>         return rsqrt(dot(v,v))*v;
>       }

> # PROFILE SUPPORT

> normalize is supported in all profiles except fp20.

> # SEE ALSO

> distance, dot, length, rsqrt, sqrt