*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> gluPickMatrix (3)              
Title
Content
Arch
Section
 

Contents


gluPickMatrix()                                   gluPickMatrix()


NAME    [Toc]    [Back]

       gluPickMatrix - define a picking region

SYNOPSIS    [Toc]    [Back]

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

PARAMETERS    [Toc]    [Back]

       Specify  the  center of a picking region in window coordinates.
  Specify the width and height, respectively, of the
       picking  region in window coordinates.  Specifies the current
 viewport (as from a glGetIntegerv() call).

DESCRIPTION    [Toc]    [Back]

       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    [Toc]    [Back]

       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    [Toc]    [Back]

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



                                                  gluPickMatrix()
[ Back ]
 Similar pages
Name OS Title
picksize IRIX sets the dimensions of the picking region
endpick IRIX turns off picking mode
pick IRIX puts the system in picking mode
msync OpenBSD synchronize a mapped region
msync NetBSD synchronize a mapped region
msync FreeBSD synchronize a mapped region
munmap Tru64 Unmap a mapped region
rect IRIX outlines a rectangular region
vm_map_findspace FreeBSD find a free region within a map
cpu_critical_enter FreeBSD enter and exit a critical region
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service