C SPECIFICATION
GLint GLAPIENTRY 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 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 nearVal and farVal
planes are different from the default, 0 and 1, respectively. A return
value of GL_TRUE indicates success; a return value of GL_FALSE indi-
cates failure.
To compute the coordinates (objX, objY, objZ and objW), gluUnProject4
multiplies the normalized device coordinates by the inverse of
model*proj as follows:
objY
__w_i_n<I>v_Y<I>i_<I>e_v<I>w_i_e_w_____-1
( )=INV(PM)( )
objZ
_<I>f_<I>a_w<I>r_i<I>V_n<I>a_Z<I>l__n<I>n_e<I>e_a<I>a_r<I>r_V<I>V_a<I>a_l<I>l__-1
objW
clipW
INV() denotes matrix inversion.
gluUnProject4 is equivalent to gluUnProject when clipW is 1, nearVal is
Man(1) output converted with
man2html