A Fragment Program
ˇ
void PerPixelLight(float3 position : TEXCOORD0,
 float3 normal   : TEXCOORD1,
                   const uniform float3 eye,
                   const uniform float3 light)        {
float3 L = normalize(light – position);
float3 V = normalize(eye – position);
outColor = computeRd(L, N) + computeRs(L, V, N);
}
Position and normal values interpolated from vertices…
Can capture specular highlight within triangle this way…