gluUnProject

map window coordinates to object coordinates

Signature

gluUnProject( GLdouble ( winX ) , GLdouble ( winY ) , GLdouble ( winZ ) , const GLdouble * ( model ) , const GLdouble * ( proj ) , const GLint * ( view ) , GLdouble* ( objX ) , GLdouble* ( objY ) , GLdouble* ( objZ ) )-> 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.
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).
objX, objY, objZ
Returns the computed object coordinates.

Description

gluUnProject maps the specified window coordinates into object coordinates using model , proj , and view . The result is stored in objX , objY , and objZ . A return value of GLU_TRUE indicates success; a return value of GLU_FALSE indicates failure.
To compute the coordinates objX objY objZ , gluUnProject multiplies the normalized device coordinates by the inverse of model * proj as follows:
objX objY objZ W = INV P M 2 winX - view 0 view 2 - 1 2 winY - view 1 view 3 - 1 2 winZ - 1 1
INV denotes matrix inversion. W is an unused variable, included for consistent matrix notation.

See Also

Sample Code References

The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.

gluUnProject
OpenGLContext OpenGLContext/events/mouseevents.py Lines: 108

MathML Rendering

Powered by MathJax