GLUUNPROJECT
Section: Misc. Reference Manual Pages (3G)
Index
Return to Main Contents
NAME
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 )
delim $$
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, 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.
SEE ALSO
glGet(3G), gluProject(3G)