gluProject()
NAME
gluProject − map object coordinates to window coordinates
SYNOPSIS
GLint gluProject(
GLdouble objX,
GLdouble objY,
GLdouble objZ,
const GLdouble ∗model,
const GLdouble ∗proj,
const GLint ∗view,
GLdouble∗ winX,
GLdouble∗ winY,
GLdouble∗ winZ );
PARAMETERS
objX, objY, objZ
Specify the object coordinates.
model
Specifies the current modelview matrix (as from a glGetDoublev() call).
projSpecifies the current projection matrix (as from a glGetDoublev() call).
viewSpecifies the current viewport (as from a glGetIntegerv() call).
winX, winY, winZ
Return the computed window coordinates.
DESCRIPTION
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^prime as follows:
V^prime = P times M times v
where P is the current projection matrix proj, M is the current modelview matrix model (both represented as 4 times 4 matrices in column-major order) and ’times’ represents matrix multiplication.
The window coordinates are then computed as follows:
winX = view(0) + view(2) ∗ (v^prime(0) + 1) / 2
winY = view(1) + view(3) ∗ (v^prime(1) + 1) / 2
winZ = (v^prime(2) + 1) / 2