distance

> # NAME

> distance - return the Euclidean distance between two points

> # SYNOPSIS

>       float distance(float pt1, float pt2);
>       float distance(float1 pt1, float1 pt2);
>       float distance(float2 pt1, float2 pt2);
>       float distance(float3 pt1, float3 pt2);
>       float distance(float4 pt1, float4 pt2);

>       half distance(half pt1, half pt2);
>       half distance(half1 pt1, half1 pt2);
>       half distance(half2 pt1, half2 pt2);
>       half distance(half3 pt1, half3 pt2);
>       half distance(half4 pt1, half4 pt2);

>       fixed distance(fixed pt1, fixed pt2);
>       fixed distance(fixed1 pt1, fixed1 pt2);
>       fixed distance(fixed2 pt1, fixed2 pt2);
>       fixed distance(fixed3 pt1, fixed3 pt2);
>       fixed distance(fixed4 pt1, fixed4 pt2);

> # PARAMETERS

> pt1

>   First point.

> pt2

>   Second point.

> # DESCRIPTION

> Returns the Euclidean distance from a first point pt1 to a second point pt2.

> # REFERENCE IMPLEMENTATION

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

>       float distance(float3 pt1, float3 pt2)
>       {
>         float3 v = vt2 - pt1;
>         return sqrt(dot(v,v));
>       }

> # PROFILE SUPPORT

> distance is supported in all profiles except fp20.

> # SEE ALSO

> dot, length, normalize, sqrt