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