gluUnProject()
NAME
gluUnProject − map window coordinates to object coordinates
SYNOPSIS
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).
projSpecifies the projection matrix (as from a glGetDoublev() call).
viewSpecifies 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, and objZ), gluUnProject() multiplies the normalized device coordinates by the inverse of model∗proj as follows:
(2(winX - view[0]) / view[2]) -1
objX (2(winY - view[1]) / view[3]) -1
objY = INV(PM)
objZ 2(winZ) -1
W 1
INV() denotes matrix inversion. W is an unused variable, included for consistent matrix notation.