P
gluProject
Chapter 14
348
gluProject
gluProject: map object coordinates to window coordinates.
C Specification
GLint gluProject(
GLdouble objX,
GLdouble objY,
GLdouble objZ,
const GLdouble *model,
const GLdouble *proj,
const GLint *view,
GLdouble* winX,
GLdouble* winY,
GLdouble* winZ)
Parameters
objA, objY, objZ Specify the object coordinates.
model Specifies the current modelview matrix (as from a glGetDoublev call).
proj Specifies the current projection matrix (as from a glGetDoublev call).
view Specifies 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 as follows:
v = P × M × v
where P is the current projection matrix proj, M is the current modelview matrix model
(both represented as 4 4 matrices in column-major order) and "×" 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
See Also
glGet,
gluUnProject