gluUnProject.3G man page

gluUnProject — map window coordinates to object coordinates

C Specification

GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);


winX, winY, winZ

Specify the window coordinates to be mapped.


Specifies the modelview matrix (as from a glGetDoublev() call).


Specifies the projection matrix (as from a glGetDoublev() call).


Specifies the viewport (as from a glGetIntegerv() call).

objX, objY, objZ

Returns the computed object coordinates.


gluUnProject maps the specified window coordinates into object coordinates using model, proj, and view. The result is stored in objX, objY, and objZ. A return value of GLU_TRUE indicates success; a return value of GLU_FALSE indicates failure.

To compute the coordinates objX objY objZ, gluUnProject multiplies the normalized device coordinates by the inverse of model * proj as follows:

objX objY objZ W = INV ⁡ P ⁢ M ⁢ 2 ⁡ winX - view ⁡ 0 view ⁡ 2 - 1 2 ⁡ winY - view ⁡ 1 view ⁡ 3 - 1 2 ⁡ winZ - 1 1 INV denotes matrix inversion. W is an unused variable, included for consistent matrix notation.

See Also

gluProject(), glGet()



07/13/2018 OpenGL Manual