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

FreeBSD Manual Pages

  
 
  

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
		       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 co-
       ordinates 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 com-
       putes $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

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.0.quarterly>

home | help