gluUnProject(3x)

gluUnProject3x

Map window coordinates to object coordinates

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 )

delim $$

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.

Overview

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:

left ( down 70 {cpile { ~"objX" above ~"objY" above ~"objZ" above ~W}} ~~ right ) ~=~ INV(P M) left ( down 140 {cpile { { {2("winX" ~-~ "view"[0])} over {"view" [2]} ~-~ 1 } above { {2("winY" ~-~ "view"[1])} over {"view"[3]} ~-~ 1 } above { 2("winZ") ~-~ 1 } above 1}} ~~ right ) $INV()$ denotes matrix inversion. W is an unused variable, included for consistent matrix notation.

Releases

2 releases since Debian 3.0 (Woody); the text changed 1 time.

  1. 3.0
  2. 3.1

From xlibmesa-glu-dev 4.3.0.dfsg.1-14sarge7 in Debian 3.1 (Sarge). Parsed by carta from the page's man source.