GLUPROJECT() MachTen Programmer’s Manual GLUPROJECT()
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 fol-
lows:
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
SEE ALSO
glGet, gluUnProject
MachTen 2