GLUPROJECT(3G)

NAME
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

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.

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 GLU_TRUE indicates success, a return value of GLU_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 and M is the current modelview matrix model (both represented as 4 × 4 matrices in column-major order).

The window coordinates are then computed as follows:

winX = view ⁡ 0 + view ⁡ 2 × v ″ ⁡ 0 + 1 2

SEE ALSO

gluUnProject(), glGet()

COPYRIGHT

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.