Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is the documentation for gluProject missing perspective division?

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?

like image 362
Alec Jacobson Avatar asked Oct 21 '22 14:10

Alec Jacobson


1 Answers

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.

like image 127
user3146587 Avatar answered Oct 23 '22 04:10

user3146587