gluUnProject4

map window and clip coordinates to object coordinates

Signature

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 ) )-> GLint
gluUnProject( winX , winY , winZ , model , proj , view , objX , objY , objZ ) -> <class 'ctypes.c_int'>
Convenience wrapper for gluUnProject
    
    Automatically fills in the model, projection and viewing matrices
    if not provided.
    
    returns (objX,objY,objZ) doubles
    
gluUnProject4( winX , winY , winZ , clipW , model , proj , view , nearVal , farVal , objX , objY , objZ , objW ) -> <class 'ctypes.c_int'>
Convenience wrapper for gluUnProject
    
    Automatically fills in the model, projection and viewing matrices
    if not provided.
    
    returns (objX,objY,objZ) doubles
    

Parameters

VariablesDescription
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

MathML Rendering

Powered by MathJax