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 funzionano con il framework per offrire 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 della GLU OpenGL® che rendono prontamente disponibili tipi primitivi avanzati come cilindri e sfere. Oltre al supporto per sistemi di modellazione complessi, la GLU include anche funzioni per eseguire operazioni con matrici, comode traduzioni per la telecamera di scena e il viewport e wrapper di funzioni più leggibili dall'uomo per l'elaborazione grafica 3D comune.
Le funzionalità della GLU OpenGL® tentano di espandere le funzioni di base incluse nella libreria OpenGL® standard. Invece di concentrarsi semplicemente sul rendering di singoli poligoni, la GLU tenta di fornire più funzioni che aiutano a creare e gestire intere scene. Questi includono una serie di routine che semplificano la traduzione della posizione della telecamera attorno a punti arbitrari, nonché funzioni semplificate che aiutano a stabilire il volume di visualizzazione.
Un'altra parte della GLU OpenGL® che non si trova nella libreria di base è l'implementazione di forme primitive avanzate. Mentre la libreria standard fornisce solo funzioni per disegnare triangoli o poligoni, la GLU ha funzioni in grado di costruire oggetti come sfere, scatole e cilindri. Sebbene queste funzioni possano essere facilmente scritte da un programmatore di grafica 3D, può risparmiare tempo nell'uso di versioni già testate e prive di bug.
Oltre alle forme primitive, esiste anche un supporto di base per b-splines razionali non uniformi (NURBS). Queste sono forme geometriche molto efficienti che possono piegarsi e fluire organicamente e usare pochissima memoria. Il supporto per NURBS nella GLU consente a un programmatore o artista di avere quasi la totale libertà nel progettare forme e oggetti all'interno di una scena.
Un'abilità di alto livello fornita da OpenGL® GLU è un framework mipmapping. Il mipmapping è una forma di mappatura delle trame che aiuta ad aumentare la velocità di rendering di una scena. Ciò si ottiene utilizzando più di un'immagine per la trama. Ogni trama è composta da più immagini simili, ognuna più piccola e meno dettagliata della precedente, quindi gli oggetti a distanza usano trame meno dettagliate e di conseguenza vengono renderizzati molto più velocemente.