The OpenGL documentation for gluProject
writes that the projection of point v
is computed using the given projection and model-view matrix via v'' = P * M * v
then window coordinates are derived using the current viewport, e.g. winZ = (v''(2) + 1)/2
.
Isn't this missing the perspective division of v''
by v''(3)
? So then we should really have formulas like winZ = (v''(2)/v''(3) + 1)/2
.
This agrees with my machine's opengl implementation and the implementation on the OpenGL wiki.
So, is the documentation wrong?