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

FreeBSD Manual Pages

  
 
  

home | help
GLUPICKMATRIX()						       GLUPICKMATRIX()

NAME
       gluPickMatrix - define a	picking	region

C SPECIFICATION
       void gluPickMatrix( GLdouble x,
			   GLdouble y,
			   GLdouble delX,
			   GLdouble delY,
			   GLint *viewport )

       delim $$

PARAMETERS
       x, y Specify the	center of a picking region in window coordinates.

       delX, delY
	    Specify  the width and height, respectively, of the	picking	region
	    in window coordinates.

       viewport
	    Specifies the current viewport (as from a glGetIntegerv call).

DESCRIPTION
       gluPickMatrix creates a projection matrix that can be used to  restrict
       drawing to a small region of the	viewport.  This	is typically useful to
       determine what objects are being	drawn near the cursor.	Use gluPickMa-
       trix  to	 restrict  drawing to a	small region around the	cursor.	 Then,
       enter selection mode (with glRenderMode)	and rerender the  scene.   All
       primitives  that	 would	have been drawn	near the cursor	are identified
       and stored in the selection buffer.

       The matrix created by gluPickMatrix is multiplied by the	current	matrix
       just as if glMultMatrix is called with the generated matrix.  To	effec-
       tively use the generated	pick matrix for	picking, first	call  glLoadI-
       dentity	to  load an identity matrix onto the perspective matrix	stack.
       Then call gluPickMatrix,	and finally, call a command (such  as  gluPer-
       spective) to multiply the perspective matrix by the pick	matrix.

       When  using  gluPickMatrix  to  pick  NURBS, be careful to turn off the
       NURBS property GLU_AUTO_LOAD_MATRIX.  If	 GLU_AUTO_LOAD_MATRIX  is  not
       turned  off,  then any NURBS surface rendered is	subdivided differently
       with the	pick matrix than the way it was	subdivided  without  the  pick
       matrix.

EXAMPLE
       When rendering a	scene as follows:

       glMatrixMode(GL_PROJECTION);   glLoadIdentity();	  gluPerspective(...);
       glMatrixMode(GL_MODELVIEW); /* Draw the scene */

       a portion of the	viewport can be	selected as a pick region like this:

       glMatrixMode(GL_PROJECTION);  glLoadIdentity();	 gluPickMatrix(x,   y,
       width,  height,	viewport);  gluPerspective(...);  glMatrixMode(GL_MOD-
       ELVIEW);	/* Draw	the scene */

SEE ALSO
       glGet, glLoadIndentity, glMultMatrix, glRenderMode, gluPerspective

							       GLUPICKMATRIX()

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

home | help