GLUUNPROJECT(3G) |  | GLUUNPROJECT(3G)

# 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:

(objXobjYobjZW)=INV(PM)(2(winX-view[0])view[2]-12(winY-view[1])view[3]-12(winZ)-11)$INV()$ denotes matrix inversion. W is an unused variable, included for consistent matrix notation.

# SEE ALSO

glGet(3G), gluProject(3G)