Wat is OpenGL® GLU?
De OpenGL® hulpprogramma-bibliotheek (GLU) is een verzameling grafische programmeerfuncties die extra functionaliteit biedt voor de basis OpenGL®-routines. De basis OpenGL®-bibliotheek biedt een basisraamwerk voor het renderen van driedimensionale (3D) grafische afbeeldingen, en de OpenGL® GLU implementeert functies die samenwerken met het raamwerk om de programmeur een uitgebreidere set hulpmiddelen te geven voor het uitvoeren van complexere bewerkingen in een eenvoudiger manier. Er zijn ook verschillende functies binnen de OpenGL® GLU die geavanceerde primitieve types zoals cilinders en bollen direct beschikbaar maken. Naast ondersteuning voor complexe modelleringssystemen, bevat de GLU ook functies voor het uitvoeren van matrixbewerkingen, handige vertalingen voor de scènecamera en het kijkvenster en meer leesbare functieomhullingen voor algemene 3D-grafische verwerking.
Kenmerken van de OpenGL® GLU proberen uit te breiden op de basisfuncties die zijn opgenomen in de standaard OpenGL®-bibliotheek. In plaats van alleen te focussen op het weergeven van afzonderlijke polygonen, probeert de GLU meer functies te bieden die helpen bij het maken en beheren van volledige scènes. Deze omvatten een aantal routines die het gemakkelijker maken om de camerapositie te vertalen rond willekeurige punten, evenals vereenvoudigde functies die helpen bij het vaststellen van het kijkvolume.
Een ander onderdeel van de OpenGL® GLU dat zich niet in de basisbibliotheek bevindt, is de implementatie van geavanceerde primitieve vormen. Terwijl de standaardbibliotheek alleen functies biedt om driehoeken of polygonen te tekenen, heeft de GLU functies die objecten kunnen construeren, zoals bollen, dozen en cilinders. Hoewel deze functies gemakkelijk kunnen worden geschreven door een 3D grafische programmeur, kan het tijd besparen om versies te gebruiken die al zijn getest en vrij van fouten zijn.
Naast vormprimitieven is er ook basisondersteuning voor niet-uniforme rationale b-splines (NURBS). Dit zijn zeer efficiënte geometrische vormen die organisch kunnen buigen en vloeien en heel weinig geheugen gebruiken. Dankzij de ondersteuning voor NURBS in de GLU heeft een programmeur of kunstenaar bijna volledige vrijheid in het ontwerpen van vormen en objecten binnen een scène.
Een mogelijkheid op hoog niveau die de OpenGL® GLU levert, is een mipmapping-framework. Mipmapping is een vorm van texture mapping die helpt om de snelheid van het renderen van een scène te vergroten. Dit wordt bereikt door meer dan één afbeelding voor de textuur te gebruiken. Elke textuur is gemaakt van verschillende vergelijkbare afbeeldingen, elk kleiner en minder gedetailleerd dan de vorige, dus objecten op afstand gebruiken minder gedetailleerde texturen en worden daarom veel sneller weergegeven.