[Front] [Reference] [Imp. Guide] [Index]

gluUnProject
[Prev] [Next]

gluUnProject: map window coordinates to object coordinates.

C Specification | Parameters | Description | See Also

[Up] 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)

[Up] 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.

[Up] 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, objZ), gluUnProject multiplies the normalized device coordinates by the inverse of modelxproj as follows:

objX
objY
objZ
W
= INV(PM ) x
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.

[Up] See Also

glGet,
gluProject

[Prev] [Next]
Front Reference [Imp. Guide] Index