GLUUNPROJECT() MachTen Programmer’s Manual GLUUNPROJECT()

NAME
gluUnProject - map window coordinates to object coordi-
nates

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 glGet-
Integerv 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), gluUn-
Project 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 vari-
able, included for consistent matrix notation.

SEE ALSO
glGet, gluProject

MachTen 1