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.
Usare gluPickMatrix per limitare il disegno a una piccola area intorno al cursore.
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.
- Chiamare glLoadIdentity per caricare una matrice di identità nello stack della matrice di prospettiva.
- Chiamare gluPickMatrix.
- 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 |
|
Libreria |
|
DLL |
|