gluProject3x
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 |
proj
|
Specifies the current projection matrix (as from a |
view
|
Specifies the current viewport (as from a |
winX, winY, winZ
|
Return the computed window coordinates. |
Overview
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 .EN
"winZ" ~=~ (v sup prime (2) ~+~ 1)~/~ 2
Releases
2 releases since Debian 3.0 (Woody); the text changed 1 time.