Shawn1984

04-20-2006, 04:28 AM

Below is a section from an online tutorial

"

The OpenGL specification states that when a light position is set it is automatically converted to eye space coordinates, i.e. camera coordinates. We can assume that the light position stays normalized when automatically converted to eye space. This will be true if we the upper left 3x3 sub matrix of the modelview matrix is orthogonal (this is ensured if we set the camera using gluLookAt, and we don't use scales in our application).

"

The above "light position" means the direction of the light because it's a drectional light. My question is even if we don't use scale in the matrix, won't the translation operation let the originaly normalized drection umnormalized?

My second question is that the normal specified by glNormal will be affected by the ModelView matrix?

thanks a lot~~!

"

The OpenGL specification states that when a light position is set it is automatically converted to eye space coordinates, i.e. camera coordinates. We can assume that the light position stays normalized when automatically converted to eye space. This will be true if we the upper left 3x3 sub matrix of the modelview matrix is orthogonal (this is ensured if we set the camera using gluLookAt, and we don't use scales in our application).

"

The above "light position" means the direction of the light because it's a drectional light. My question is even if we don't use scale in the matrix, won't the translation operation let the originaly normalized drection umnormalized?

My second question is that the normal specified by glNormal will be affected by the ModelView matrix?

thanks a lot~~!