gluUnProject4(3) gluUnProject4(3)
NAME
gluUnProject4 - map window and clip coordinates to object coordinates
C SPECIFICATION
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 )
PARAMETERS
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 glGetDou- blev call). objX, objY, objZ, objW Returns the computed object coordinates.
DESCRIPTION
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 fail- ure. To compute the coordinates (objX, objY, objZ and objW), gluUnProject4 multiplies the normalized device coordinates by the inverse of model*proj as follows: 2(winX - view[0]) ----------------- - 1 view[2] objX 2(winY - view[1]) objY = INV(PM) ----------------- - 1 objZ view[3] W 2(winZ - near) ----------------- - 1 (far - near) clipW INV() denotes matrix inversion. gluUnProject4 is equivalent to gluUnProject when clipW is 1, near is 0 and far is 1.
NOTES
gluUnProject4 is available only if the GLU version is 1.3 or greater.
SEE ALSO
glGet(3), glFeedbackBuffer(3), gluProject(3), gluUnProject(3) gluUnProject4(3)
Mac OS X 10.6 - Generated Thu Sep 17 20:20:37 CDT 2009