Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
GLUPROJECT()							    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 glGetDou-
		     blev call).

     proj	     Specifies	the  current projection matrix (as from a glGet-
		     Doublev 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 coordi-
     nates 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)$  repre-
     sented  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  mod-
     elview matrix model (both represented as $4 times 4$ matrices in column-ma-
     jor 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

								    GLUPROJECT()

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gluProject&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help