Função gluPickMatrix

A função gluPickMatrix define uma região de seleção.

Sintaxe

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

Parâmetros

x

A coordenada da janela x de uma região de seleção.

y

A coordenada da janela y de uma região de seleção.

altura

A altura da região de seleção nas coordenadas da janela.

width

A largura da região de seleção nas coordenadas da janela.

Viewport

O visor atual (como de uma chamada glGetIntegerv ).

Retornar valor

Essa função não retorna um valor.

Comentários

A função gluPickMatrix cria uma matriz de projeção que você pode usar para restringir o desenho a uma pequena região do visor.

  1. Use gluPickMatrix para restringir o desenho a uma pequena região ao redor do cursor.

  2. Insira o modo de seleção (com glRenderMode) e rerender a cena.

    Todos os primitivos que teriam sido desenhados perto do cursor são identificados e armazenados no buffer de seleção.

A matriz criada por gluPickMatrix é multiplicada pela matriz atual como se glMultMatrix fosse chamado com a matriz gerada.

  1. Chame glLoadIdentity para carregar uma matriz de identidade na pilha de matrizes de perspectiva.
  2. Chame gluPickMatrix.
  3. Chame uma função (como gluPerspective) para multiplicar a matriz de perspectiva pela matriz de seleção.

Ao usar gluPickMatrix para escolher NURBS (Racional B-Spline Não Uniforme), tenha cuidado para desativar a propriedade NURBS, GLU_AUTO_LOAD_MATRIX. Se GLU_AUTO_LOAD_MATRIX não estiver desativada, qualquer superfície NURBS renderizada será subdividida de forma diferente com a matriz de seleção de como ela foi subdividida sem a matriz de seleção.

Exemplos

Ao renderizar uma cena da seguinte maneira:

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

o código a seguir seleciona uma parte do visor:

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

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Glu.h
Biblioteca
Glu32.lib
DLL
Glu32.dll

Confira também

glGetIntegerv

glLoadIdentity

glMultMatrix

glRenderMode

gluPerspective