Compartir a través de


Función gluPickMatrix

La función gluPickMatrix define una región de selección.

Sintaxis

void WINAPI gluPickMatrix(
   GLdouble x,
   GLdouble y,
   GLdouble height,
   GLdouble width,
   GLint    viewport[4]
);

Parámetros

x

Coordenada de ventana x de una región de selección.

y

Coordenada de ventana y de una región de selección.

height

Alto de la región de selección en coordenadas de ventana.

width

Ancho de la región de selección en coordenadas de ventana.

Viewport

Ventanilla actual (como desde una llamada glGetIntegerv ).

Valor devuelto

Esta función no devuelve ningún valor.

Observaciones

La función gluPickMatrix crea una matriz de proyección que puede usar para restringir el dibujo a una pequeña región de la ventanilla.

  1. Use gluPickMatrix para restringir el dibujo a una región pequeña alrededor del cursor.

  2. Escriba el modo de selección (con glRenderMode) y vuelva a representar la escena.

    Todos los primitivos que se habrían dibujado cerca del cursor se identifican y almacenan en el búfer de selección.

La matriz creada por gluPickMatrix se multiplica por la matriz actual como si se llamara a glMultMatrix con la matriz generada.

  1. Llame a glLoadIdentity para cargar una matriz de identidad en la pila de matrices de perspectiva.
  2. Llame a gluPickMatrix.
  3. Llame a una función (como gluPerspective) para multiplicar la matriz de perspectiva por la matriz de selección.

Al usar gluPickMatrix para elegir Non-Uniform Rational B-Spline (NURBS), tenga cuidado de desactivar la propiedad NURBS, GLU_AUTO_LOAD_MATRIX. Si GLU_AUTO_LOAD_MATRIX no está desactivado, cualquier superficie NURBS representada se subdivide de forma diferente con la matriz pick de cómo se subdividió sin la matriz de selección.

Ejemplos

Al representar una escena de la siguiente manera:

glMatrixMode(GL_PROJECTION);  
glLoadIdentity( );  
gluPerspective(. . .);  
glMatrixMode(GL_MODELVIEW);  
/* Draw the scene */

el código siguiente selecciona una parte de la ventanilla:

glMatrixMode(GL_PROJECTION);  
glLoadIdentity( );  
gluPickMatrix(x, y, width, height, viewport);  
gluPerspective(. . .);  
glMatrixMode(GL_MODELVIEW);  
/* Draw the scene */

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Glu.h
Biblioteca
Glu32.lib
Archivo DLL
Glu32.dll

Consulte también

glGetIntegerv

glLoadIdentity

glMultMatrix

glRenderMode

gluPerspective