U
gluUnProject
Chapter 19
468
gluUnProject
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)
Parameters
winX, winY, winZ Specify the window coordinates to be mapped.
model Specifies the modelview matrix (as from a glGetDoublev call).
proj Specifies the projection matrix (as from a glGetDoublev call).
view Specifies the viewport (as from a glGetIntegerv call).
objX, objY, objZ Returns the computed object coordinates.
Description
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
GL_TRUE indicates success; a return value of GL_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 2 (winX - view[0] ) / view[2]
objY = INV(PM ) - 1
objZ 2 (winY - view[1] ) / view[3]
W- 1
2 winZ - 1
1
“INV()” denotes matrix inversion. W is an unused variable, included for consistent
matrix notation.