Name
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 near
, GLdouble far
, GLdouble* objX
, GLdouble* objY
, GLdouble* objZ
, GLdouble* objW
); |
Python Specification
gluUnProject4
|
( |
winX
,
winY
,
winZ
,
clipW
,
model = None
,
proj = None
,
view = None
,
near = 0.0,
far = 1.0) → (objX,
objY,
objZ,
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).
-
near, far
-
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 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 near and far planes are different
from the default, 0 and 1, respectively. A return value of GL_TRUE indicates success; a return
value of GL_FALSE indicates failure.
To compute the coordinates (objX, objY, objZ and
objW), gluUnProject4 multiplies the normalized device coordinates by the
inverse of model*proj as follows:
INV() denotes matrix inversion.
gluUnProject4 is equivalent to gluUnProject when
clipW is 1, near is 0 and far is 1.
Notes
gluUnProject4 is available only if the GLU version is 1.3 or greater.