Condividi tramite


funzione gluPickMatrix

La funzione gluPickMatrix definisce un'area di selezione.

Sintassi

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

Parametri

x

Coordinata della finestra x di un'area di selezione.

y

Coordinata della finestra y di un'area di selezione.

height

Altezza dell'area di selezione nelle coordinate della finestra.

width

Larghezza dell'area di selezione nelle coordinate della finestra.

Finestra

Viewport corrente (come da una chiamata glGetIntegerv ).

Valore restituito

Questa funzione non restituisce un valore.

Commenti

La funzione gluPickMatrix crea una matrice di proiezione che è possibile usare per limitare il disegno a una piccola area del viewport.

  1. Usare gluPickMatrix per limitare il disegno a una piccola area intorno al cursore.

  2. Immettere la modalità di selezione (con glRenderMode) e quindi ripetere la scena.

    Tutte le primitive che sarebbero state disegnate vicino al cursore vengono identificate e archiviate nel buffer di selezione.

La matrice creata da gluPickMatrix viene moltiplicata dalla matrice corrente come se glMultMatrix fosse chiamata con la matrice generata.

  1. Chiamare glLoadIdentity per caricare una matrice di identità nello stack della matrice di prospettiva.
  2. Chiamare gluPickMatrix.
  3. Chiamare una funzione (ad esempio gluPerspective) per moltiplicare la matrice di prospettiva in base alla matrice di selezione.

Quando si usa gluPickMatrix per selezionare B-Spline (NURBS), prestare attenzione a disattivare la proprietà NURBS, GLU_AUTO_LOAD_MATRIX. Se GLU_AUTO_LOAD_MATRIX non è disattivato, qualsiasi superficie NURBS sottoposta a rendering viene suddivisa in modo diverso con la matrice di selezione da come è stata suddivisa senza la matrice di selezione.

Esempio

Quando si esegue il rendering di una scena come indicato di seguito:

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

il codice seguente seleziona una parte del viewport:

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

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Glu.h
Libreria
Glu32.lib
DLL
Glu32.dll

Vedi anche

glGetIntegerv

glLoadIdentity

glMultMatrix

glRenderMode

gluPerspective