DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

gluPickMatrix(3)





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
       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);

       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);


SEE ALSO

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

                                                             GLUPICKMATRIX(3G)

Man(1) output converted with man2html