Name

gluUnProject - map window coordinates	to object coordinates

Python Specification

gluUnProject
	gluUnProject(winx, winy, winz, modelMatrix = None, projMatrix = None, viewport = None) -> (objx, objy, objz)

C Specification

GLint	gluUnProject( GLdouble winX,
                    GLdouble winY,
                    GLdouble winZ,
                    const GLdouble *model,
                    const GLdouble *proj,
                    const GLint *view,
                    GLdouble*	objX,
                    GLdouble*	objY,
                    GLdouble*	objZ )

Parameters

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 GL_TRUE
indicates success; a return value of GL_FALSE	indicates
failure.

To compute the coordinates (objX, objY, and objZ),
gluUnProject multiplies the normalized device	coordinates by
the inverse of model*proj as follows:

                           |                       |
                           |_________________	     |
        (       )          |     view[2]	- 1  |
        | objX  |	     |			     |
        | objY  | = INV(PM)|_________________	- 1  |
        |       |          |     view[3]	     |
        | objZ  |	     |	   2(winZ) - 1	     |
        (  W	  )	     |			     |
                           (          1	     )

INV()	denotes	matrix inversion. W is an unused variable,
included for consistent matrix notation.

See Also

glGet, gluProject

:: Documentation :: References :: GLU ::
:: Index (n/a) ::