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);

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 GLU_TRUE indicates success; a return value of GLU_FALSE indicates failure.

To compute the coordinates objX objY objZ, gluUnProject multiplies the normalized device coordinates by the inverse of model * proj as follows:

objX objY objZ W = INV ⁡ P ⁢ M ⁢ 2 ⁡ winX - view ⁡ 0 view ⁡ 2 - 1 2 ⁡ winY - view ⁡ 1 view ⁡ 3 - 1 2 ⁡ winZ - 1 1 INV denotes matrix inversion. W is an unused variable, included for consistent matrix notation.

SEE ALSO

gluProject(), glGet()

COPYRIGHT

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.