Che cos’è OpenGL® GLU?

La libreria di utilità OpenGL® (GLU) è una raccolta di funzioni di programmazione grafica che fornisce funzionalità aggiuntive per le routine di base OpenGL®. La libreria OpenGL® di base fornisce un framework di base per il rendering di grafica tridimensionale (3D) e OpenGL® GLU implementa funzioni che lavorano con il framework per fornire al programmatore un set esteso di strumenti da utilizzare per eseguire operazioni più complesse in modo più semplice maniera. Ci sono anche diverse funzioni all’interno di OpenGL® GLU che rendono prontamente disponibili tipi primitivi avanzati come cilindri e sfere. Oltre al supporto per sistemi di modellazione complessi, GLU include anche funzioni per eseguire operazioni di matrice, comode traduzioni per la telecamera di scena e il viewport e wrapper di funzioni più leggibili per l’elaborazione grafica 3D comune.

Le funzionalità di OpenGL® GLU tentano di espandere le funzioni di base incluse nella libreria OpenGL® standard. Invece di concentrarsi semplicemente sul rendering di singoli poligoni, GLU tenta di fornire più funzioni che aiutano a creare e gestire intere scene. Questi includono una serie di routine che rendono più facile tradurre la posizione della telecamera attorno a punti arbitrari, nonché funzioni semplificate che aiutano a stabilire il volume di visualizzazione.

Un’altra parte di OpenGL® GLU che non è nella libreria di base è l’implementazione di forme primitive avanzate. Mentre la libreria standard fornisce solo funzioni per disegnare triangoli o poligoni, il GLU ha funzioni che possono costruire oggetti come sfere, scatole e cilindri. Sebbene queste funzioni possano essere facilmente scritte da un programmatore di grafica 3D, è possibile risparmiare tempo utilizzando versioni già testate e prive di bug.

Oltre alle primitive di forma, esiste anche il supporto di base per b-spline razionali non uniformi (NURBS). Queste sono forme geometriche molto efficienti che possono piegarsi e fluire in modo organico e utilizzano pochissima memoria. Il supporto per NURBS nel GLU consente a un programmatore o artista di avere quasi completa libertà nella progettazione di forme e oggetti all’interno di una scena.

Un’abilità di alto livello fornita da OpenGL® GLU è un framework di mipmapping. Il mipmapping è una forma di mappatura delle texture che aiuta ad aumentare la velocità di rendering di una scena. Ciò si ottiene utilizzando più di un’immagine per la trama. Ogni texture è composta da diverse immagini simili, ognuna più piccola e meno dettagliata dell’ultima, quindi gli oggetti che si trovano a distanza usano trame meno dettagliate e di conseguenza vengono renderizzati molto più velocemente.