Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

glGet(3)

gluProject(3)

gluUnProject()

NAME

gluUnProject − map window coordinates to object coordinates

SYNOPSIS

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

projSpecifies the projection matrix (as from a glGetDoublev() call). 

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

                    (2(winX - view[0]) / view[2]) -1
objX                (2(winY - view[1]) / view[3]) -1
objY  = INV(PM)
objZ                     2(winZ) -1
W                            1

INV() denotes matrix inversion. W is an unused variable, included for consistent matrix notation. 

SEE ALSO

glGet(3), gluProject(3)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026