Reputation: 6264
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?
Upvotes: 5
Views: 417
Reputation: 4320
Yes, the documentation appears to be missing the divide (which is the only reason for returning GLU_FALSE
, by the way). Check the mesa implementation (lines 249-252), for instance.
Upvotes: 3