I was just reading through a vertex program lab from NVIDIA SDK and it says that i need to Transform the (light) normal to eye-space, which makes sense. BUT, the vertex code to do this transforms by the inverse modelview transpose… could someone please explain the theory behind this to me please?