GLUPROJECT

Section: Misc. Reference Manual Pages (3G)
Index Return to Main Contents
 

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 )

delim $$  

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 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 sup prime$ as follows:

v sup 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 sup prime (0) ~+~ 1)~/~2

"winY" ~=~ "view" (1) ~+~ "view" (3)~*~(v sup prime (1) ~+~ 1)~/~2

"winZ" ~=~ (v sup prime (2) ~+~ 1)~/~ 2

 

SEE ALSO

glGet(3G), gluUnProject(3G)