Hva er en OpenGL®-animasjon?
OpenGL®-animasjon er et generelt begrep brukt på alle scener som har objekter som beveger seg i seg og er gjengitt ved bruk av OpenGL®-bibliotekene. Fra et programmeringsperspektiv er det flere metoder som kan brukes til å lage en OpenGL®-animasjon. Innen et mer datagrafikkorientert syn, kan en OpenGL®-animasjon være en hvilken som helst animasjonssekvens som ble gjengitt med OpenGL®, enten scenen ble generert i programkildekoden eller i et frittstående modelleringsprogram. Det er flere typer animasjoner som kan gjøres med OpenGL® og andre biblioteker som støtter, men to av de mest brukte er keyframe-animasjon og skjelettanimasjon.
Den mest grunnleggende typen OpenGL®-animasjon innebærer ganske enkelt å bevege et objekt gjennom en scene. Dette gjøres vanligvis ved å endre plasseringen av hver av toppunktkoordinatene likt, ved å oversette dem sakte mot ønsket posisjon. Plassering av kameraet i en scene kan også endres for å skape en animasjonseffekt, selv om hele scenen forblir statisk i dette tilfellet. Denne grunnleggende animasjonsformen brukes ofte i todimensjonale (2D) programmer der objektene bare er plassholdere for å vise teksturer.
Keyframe-animasjon er en mye mer kompleks prosess. Denne formen for OpenGL®-animasjon innebærer å ta en modell som er lastet inn i scenen og bevege den trinnvis mot en annen posisjon, kalt et nøkkelbilde. Et eksempel er en modell for å vifte med hånden. Den opprinnelige plasseringen av hånden sammenlignes med en annen modell, eller keyframe, av animasjon der hånden er fullstendig utvidet. Den gjennomsnittlige og trinnvise bevegelsen av hånden skaper animasjonen uten behov for å lagre posisjonen til hånden i hvert trinn langs banen.
En annen type OpenGL®-animasjon er kjent som skjelettanimasjon. Dette innebærer å lage en modell, vanligvis av et leddet menneske eller dyr, og deretter opprette en type beinstruktur inne i modellen. Hvert av knoklene er praktisk talt festet til de omkringliggende toppunktene på modellen. Benene utøver en viss kraft, eller vekt, på hvert toppunkt, slik at når selve beinet beveges, reagerer den omkringliggende modellen og nettet som utgjør "huden" til modellen deformeres. Denne typen animasjoner tar tid å lage, men kan gi veldig naturtro bevegelser når du gjør det riktig.
En OpenGL®-animasjon er avhengig av både modellen som er opprettet for å bli animert, og på måten et program utfører animasjonen. Den mest brukte måten er å gjengi animasjonsrammer til et område utenfor skjermen kjent som en buffer før den blir trukket til det synlige skjermbildet. Dette gjør at bildet tegnes i sin helhet uten at brukeren trenger å se på det hvis det er for tregt. Mange dataprogrammer som bruker OpenGL®-animasjon, må også sørge for å opprettholde en jevn bildefrekvens for å forhindre hoppete animasjoner, noe som oppnås ved å tidsbestemme hver ramme som er tegnet og enten vente eller fremskynde gjengivelsesprosessen.