ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



GLUPICKMATRIX(3G)                                                                          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 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  gluPickMatrix  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 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 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_MODELVIEW);
        /* Draw the scene */


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





                                                                                           GLUPICKMATRIX(3G)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.