GLUPROJECT(3G) GLUPROJECT(3G)

gluProject - map object coordinates to window coordinates

GLint gluProject( GLdouble objX,

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

Specify the object coordinates.
Specifies the current modelview matrix (as from a glGetDoublev call).
Specifies the current projection matrix (as from a glGetDoublev call).
Specifies the current viewport (as from a glGetIntegerv call).
Return the computed window coordinates.

gluProject transforms the specified object coordinates into window coordinates using model, proj, and view. The result is stored in winX, winY, and winZ. A return value of GL_TRUE indicates success, a return value of GL_FALSE indicates failure.

To compute the coordinates, let v = (objX, objY, objZ, 1.0) represented as a matrix with 4 rows and 1 column. Then gluProject computes v' as follows:


v' = P X M X v


where P is the current projection matrix proj, M is the current modelview matrix model (both represented as 4x4 matrices in column-major order) 'X' represents matrix multiplication.

The window coordinates are then computed as follows:

winX = view(0) + view(2) * (v'(0)+1)/2

winY = view(1) + view(3) * (v'(1)+1)/2

winZ = (v'(2) + 1) / 2

glGet, gluUnProject