GL_SPOT_DIRECTION parameter of glLight function contains 3 integer or

floating point values that specify the direction of the

light in Homogeneous Object Coordinates. There is a contradiction on

the way of implementation of this parameter in

OpenGL Reference Manual(Blue Book) and OpenGL Spec 1.2.1.

_SPOT_DIRECTION is said to be transformed by the

inverse of the Modelview Matrix by OpenGL Reference Manual (Blue Book

Version 1.4, glLight, page 374).

However, The OpenGL Spec 1.2.1 says that GL_SPOT_DIRECTION is

transformed using only the upper leftmost 3x3

portion of the Model-view matrix, that is by Mu. (Spec 1.2.1; 2.13.2

Lighting Parameter Specication; page 49).

In the code, the Blue Book approach is taken into consideration and

GL_SPOT_DIRECTION is multiplied by the inverse

of the Model-view Matrix. Which approach shall be taken as correct approach?