Condividi tramite


Trasformazione delle coordinate

La libreria di utilità OpenGL (GLU) offre diverse funzioni di trasformazione matrice comunemente usate. È possibile configurare un'area di visualizzazione ortografica bidirezionale con gluOrtho2D, un volume di visualizzazione di prospettiva standard usando gluPerspective o un volume di visualizzazione incentrato su un punto oculare specificato con gluLookAt. Ognuna di queste funzioni crea la matrice desiderata e la applica alla matrice corrente usando glMultMatrix.

La funzione gluPickMatrix semplifica la selezione di una matrice di selezione creando una matrice che limita il disegno a una piccola area del viewport. Se si esegue nuovamente il rendering della scena in modalità di selezione dopo l'applicazione di questa matrice, tutti gli oggetti che verranno tracciati vicino al cursore verranno selezionati e le informazioni su di esse verranno archiviate nel buffer di selezione. Per altre informazioni sulla modalità di selezione, vedere "Esecuzione di selezione e feedback" Esecuzione di selezione e feedback.

Per determinare dove nella finestra viene disegnato un oggetto, usare gluProject, che converte le coordinate dell'oggetto specificate objx, objy e objz nelle coordinate della finestra usando modelMatrix, projMatrix e viewport. Il risultato viene archiviato in winx, winy e winz. Se la funzione ha esito positivo, il valore restituito è GL_TRUE. Se la funzione ha esito negativo, il valore restituito è GL_FALSE.

La funzione gluUnProject esegue la conversione inversa: trasforma le coordinate della finestra specificate winx, winy e winz in coordinate oggetto usando modelMatrix, projMatrix e viewport. Il risultato viene archiviato in objx, objy e objz. Se la funzione ha esito positivo, il valore restituito è GL_TRUE. Se la funzione ha esito negativo, il valore restituito è GL_FALSE.