NAME
fgluUnProject - map window coordinates to object coordinates
FORTRAN SPECIFICATION
INTEGER*4 fgluUnProject( REAL*8 winX,
REAL*8 winY,
REAL*8 winZ,
CHARACTER*8 model,
CHARACTER*8 proj,
CHARACTER*8 view,
CHARACTER*8 objX,
CHARACTER*8 objY,
CHARACTER*8 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
fgluUnProject 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),
fgluUnProject multiplies the normalized device coordinates
by the inverse of model*proj as follows:
| |
|_________________ |
( ) | view[2] - 1 |
| objX | | |
| objY | = INV(PM)|_________________ - 1 |
| | | view[3] |
| objZ | | 2(winZ) - 1 |
( W ) | |
( 1 )
INV() denotes matrix inversion. W is an unused variable,
included for consistent matrix notation.
SEE ALSO
glGet, fgluProject