MirBSD manpage: gluPickMatrix(3)


GLUPICKMATRIX(3G)   UNIX Programmer's Manual    GLUPICKMATRIX(3G)

NAME

     gluPickMatrix - define a picking region

C SPECIFICATION

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

PARAMETERS

     x, y Specify the center of a picking region in window coor-
          dinates.

     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 gluPickMatrix to restrict drawing
     to a small region around the cursor. Then, enter selection
     mode (with glRenderMode) and rerender the scene. All primi-
     tives that would have been drawn near the cursor are identi-
     fied 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 effectively use the generated pick
     matrix for picking, first call glLoadIdentity to load an
     identity matrix onto the perspective matrix stack. Then call
     gluPickMatrix, and finally, call a command (such as
     gluPerspective) 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 sur-
     face rendered is subdivided differently with the pick matrix
     than the way it was subdivided without the pick matrix.

MirBSD #10-current     Printed 2021-12-07                       1

GLUPICKMATRIX(3G)   UNIX Programmer's Manual    GLUPICKMATRIX(3G)

EXAMPLE

     When rendering a scene as follows:

     glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspec-
     tive(...); 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); gluPerspec-
     tive(...); glMatrixMode(GL_MODELVIEW); /* Draw the scene */

SEE ALSO

     glGet(3G), glLoadIndentity(3G), glMultMatrix(3G),
     glRenderMode(3G), gluPerspective(3G)

MirBSD #10-current     Printed 2021-12-07                       2

Generated on 2021-12-07 11:28:18 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.