1991-2006 Silicon Graphics, Inc. gluUnProject4 3G 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 nearVal GLdouble farVal 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). nearVal farVal Specifies the near and far planes (as from a glGetDoublev call). objX objY objZ objW Returns the computed object coordinates. Description gluUnProject4 maps the specified window coordinatesi: 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 GLU_4D_COLOR_TEXTURE is returned. This also handles the case where the nearVal and farVal planes are different from the default, 0 and 1, respectively. A return value of GLU_TRUE indicates success; a return value of GLU_FALSE indicates failure. To compute the coordinates objX objY objZ objW , gluUnProject4 multiplies the normalized device coordinates by the inverse of model * proj as follows: objX objY objZ objW = INV P M 2 winX - view 0 view 2 - 1 2 winY - view 1 view 3 - 1 2 winZ - nearVal farVal - nearVal - 1 clipW INV denotes matrix inversion. gluUnProject4 is equivalent to gluUnProject when clipW is 1, nearVal is 0, and farVal is 1. Notes gluUnProject4 is available only if the GLU version is 1.3 or greater. See Also gluProject, gluUnProject, glFeedbackBuffer, glGet Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.