[Front] [Reference] [Imp. Guide] [Index]

gluProject
[Prev] [Next]

gluProject: map object coordinates to window coordinates.

C Specification | Parameters | Description | See Also

[Up] 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)

[Up] Parameters

objX, 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.

[Up] 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 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) and "x" represents matrix multiplication.

The window coordinates are then computed as follows:

winX = view(0) + view(2) x (v'(0) + 1)/2
winY = view(1) + view(3) x (v'(1) + 1)/2
winZ = (v'(2) + 1)/ 2

[Up] See Also

glGet,
gluUnProject

[Prev] [Next]
Front Reference [Imp. Guide] Index