manpagez: man pages & more
man gluPickMatrix(3)
Home | html | info | man
gluPickMatrix(3)                                            gluPickMatrix(3)




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 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 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
       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(3), glLoadIndentity(3), glMultMatrix(3), glRenderMode(3),
       gluPerspective(3)




                                                             gluPickMatrix(3)

Mac OS X 10.6 - Generated Thu Sep 17 20:20:35 CDT 2009
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.