GLUUNPROJECT(3G) GLUUNPROJECT(3G)

gluUnProject - map window coordinates to object coordinates

GLint gluUnProject( GLdouble winX,

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

Specify the window coordinates to be mapped.
Specifies the modelview matrix (as from a glGetDoublev call).
Specifies the projection matrix (as from a glGetDoublev call).
Specifies the viewport (as from a glGetIntegerv call).
Returns the computed object coordinates.

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:


2(winX - view[0])
----------------- - 1
view[2]


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


1

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

glGet, gluProject