Wat is een OpenGL®-animatie?
OpenGL®-animatie is een algemene term die wordt toegepast op elke scène waarin objecten zich verplaatsen en die wordt weergegeven met behulp van de OpenGL®-bibliotheken. Vanuit een programmeerperspectief zijn er verschillende methoden die kunnen worden gebruikt om een OpenGL®-animatie te maken. In een meer op de computer grafisch georiënteerde weergave kan een OpenGL®-animatie elke geanimeerde reeks zijn die is weergegeven met OpenGL®, ongeacht of de scène is gegenereerd in de programmabroncode of in een zelfstandig modelleringsprogramma. Er zijn verschillende soorten animaties die kunnen worden gedaan met OpenGL® en andere ondersteunende bibliotheken, maar twee van de meest gebruikte zijn keyframe-animatie en skeletanimatie.
Het meest basale type OpenGL®-animatie is eenvoudigweg het verplaatsen van een object door een scène. Dit wordt meestal gedaan door de locatie van elk van de hoekpuntcoördinaten gelijk te veranderen en ze langzaam naar de gewenste positie te vertalen. De positie van de camera in een scène kan ook worden gewijzigd om een animatie-effect te creëren, hoewel de hele scène in dit geval statisch blijft. Deze basisvorm van animatie wordt vaak gebruikt in tweedimensionale (2D) programma's waarin de objecten slechts tijdelijke aanduidingen zijn om texturen weer te geven.
Keyframe-animatie is een veel complexer proces. Deze vorm van OpenGL®-animatie omvat het nemen van een model dat in de scène is geladen en het stapsgewijs naar een andere positie verplaatsen, een keyframe genoemd. Een voorbeeld is een model van een hand die zwaait. De beginpositie van de hand wordt vergeleken met een ander model of keyframe van animatie waarin de hand volledig is uitgestrekt. De gemiddelde en incrementele beweging van de hand creëert de animatie zonder dat de positie van de hand in elke stap langs het pad hoeft te worden opgeslagen.
Een ander type OpenGL®-animatie staat bekend als skeletanimatie. Dit omvat het maken van een model, meestal van een gearticuleerd mens of dier, en vervolgens het creëren van een soort botstructuur in het model. Elk van de botten is vrijwel bevestigd aan de omringende hoekpunten van het model. De botten oefenen een bepaalde kracht of gewicht uit op elk hoekpunt, zodat wanneer het bot zelf wordt verplaatst, het omringende model reageert en het gaas dat de "huid" van het model vormt, vervormt. Dit type animatie kost tijd om te maken, maar kan zeer levensechte bewegingen bieden als het correct wordt uitgevoerd.
Een OpenGL®-animatie vertrouwt zowel op het model dat is gemaakt om te worden geanimeerd als op de manier waarop een programma de animatie uitvoert. De meest gebruikte manier is om animatieframes weer te geven naar een gebied buiten het scherm dat bekend staat als een buffer voordat het naar het zichtbare scherm wordt getrokken. Hierdoor kan de afbeelding in zijn geheel worden getekend zonder dat de gebruiker deze hoeft te bekijken als deze te langzaam is. Veel computerprogramma's die OpenGL®-animatie gebruiken, moeten er ook voor zorgen dat ze een consistente framesnelheid behouden om springerige animaties te voorkomen, wat wordt bereikt door elk getekend frame te timen en het renderingproces te wachten of te versnellen.