gluUnProject3x
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 )
delim $$
Parameters
winX, winY, winZ
|
Specify the window coordinates to be mapped. |
|---|---|
model
|
Specifies the modelview matrix (as from a |
proj
|
Specifies the projection matrix (as from a |
view
|
Specifies the viewport (as from a |
objX, objY, objZ
|
Returns the computed object coordinates. |
Overview
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:
left ( down 70 {cpile { ~"objX" above ~"objY" above ~"objZ" above ~W}} ~~ right ) ~=~ INV(P M) left ( down 140 {cpile { { {2("winX" ~-~ "view"[0])} over {"view" [2]} ~-~ 1 } above { {2("winY" ~-~ "view"[1])} over {"view"[3]} ~-~ 1 } above { 2("winZ") ~-~ 1 } above 1}} ~~ right ) $INV()$ denotes matrix inversion. W is an unused variable, included for consistent matrix notation.
Releases
2 releases since Debian 3.0 (Woody); the text changed 1 time.