; create the data needed for anisotropic shading

#pragma screenspace

xvs.1.1

mov r5, LOCAL_EYE_POINT
sub r5.xyz, r5.xyz, r10.xyz

; Normalize the eye vector
dp3 r0.w, r5, r5
rsq r0.w, r0.w
mul r5.xyz, r5.xyz, r0.w

; save the light
mov r4, r3

; reflect the light
dp3 r1, r3, r9
mul r2, r1, r9
add r1, r2, r2
sub r3.xyz, r3.xyz, r1.xyz
mov r3.w, r5.w

dp3 r0.x, r3, r5		;eye dot reflect! (gouraud effect)
dp3 r0.y, -r4, r9		;prepare light dot normal!

add r0.x, r0.x, ONE.x
mul r0.x, r0.x, SCALER.x

max oT0.xy, ZERO, r0