GNU/Linux |
CentOS 5.3 |
|
![]() |
gluUnProject4(3gl) |
![]() |
gluUnProject4 − map window and clip coordinates to object coordinates
GLint gluUnProject4( GLdouble winX,
GLdouble winY, | |
GLdouble winZ, | |
GLdouble clipW, | |
const GLdouble *model, | |
const GLdouble *proj, | |
const GLint *view, | |
GLdouble near, | |
GLdouble far, | |
GLdouble* objX, | |
GLdouble* objY, | |
GLdouble* objZ, | |
GLdouble* objW ) |
winX, winY, winZ
Specify the window coordinates to be mapped.
clipW |
Specify the clip w coordinate 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). | ||
near, far |
Specifies the near and far planes (as from a glGetDoublev call). |
objX, objY, objZ, objW
Returns the computed object coordinates.
gluUnProject4 maps the specified window coordinates winX, winY and winZ and its clip w coordinate clipW into object coordinates (objX, objY, objZ, objW) using model, proj and view. clipW can be other than 1 as for vertices in glFeedbackBuffer when data type GL_4D_COLOR_TEXTURE is returned. This also handles the case where the near and far planes are different from the default, 0 and 1, respectively. A return value of GL_TRUE indicates success; a return value of GL_FALSE indicates failure.
To compute the coordinates (objX, objY, objZ and objW), gluUnProject4 multiplies the normalized device coordinates by the inverse of model*proj as follows:
$INV()$ denotes matrix inversion.
gluUnProject4 is equivalent to gluUnProject when clipW is 1, near is 0 and far is 1.
gluUnProject4 is available only if the GLU version is 1.3 or greater.
glGet(3G), glFeedbackBuffer(3G), gluProject(3G), gluUnProject(3G)
![]() |
gluUnProject4(3gl) | ![]() |