Hvad er en OpenGL®-animation?
OpenGL®-animation er et generelt udtryk, der anvendes til enhver scene, der har genstande, der bevæger sig i den, og som gengives ved hjælp af OpenGL®-bibliotekerne. Fra et programmeringsperspektiv er der flere metoder, der kan bruges til at oprette en OpenGL®-animation. I en mere computergrafikorienteret visning kan en OpenGL®-animation være en hvilken som helst animeret sekvens, der blev gengivet med OpenGL®, uanset om scenen blev genereret i programkildekoden eller i et selvstændigt modelleringsprogram. Der er flere typer animationer, der kan udføres med OpenGL® og andre understøttende biblioteker, men to af de mest anvendte er keyframe-animation og skelet-animation.
Den mest basale type OpenGL®-animation involverer blot at flytte et objekt gennem en scene. Dette gøres normalt ved at ændre placeringen af hver af toppunktkoordinaterne lige så ved at oversætte dem langsomt mod den ønskede position. Kameraets placering i en scene kan også ændres for at skabe en animationseffekt, selvom hele scenen forbliver statisk i dette tilfælde. Denne grundlæggende form for animation bruges ofte i todimensionelle (2D) programmer, hvor objekterne bare er pladsholdere til at vise teksturer.
Keyframe-animation er en meget mere kompleks proces. Denne form for OpenGL®-animation involverer at tage en model, der er indlæst i scenen og bevæge den trinvis mod en anden position, kaldet en nøgleramme. Et eksempel er en model af en håndvågning. Den oprindelige position af hånden sammenlignes med en anden model, eller keyframe, af animation, hvor hånden er fuldt udstrakt. Den gennemsnitlige og trinvise bevægelse af hånden skaber animationen uden behov for at gemme positionen af hånden i hvert inkrement langs stien.
En anden type OpenGL®-animation er kendt som skeletanimation. Dette indebærer at skabe en model, som regel af et leddet menneske eller dyr, og derefter oprette en type knoglestruktur inde i modellen. Hver af knoglerne er praktisk talt knyttet til modellens omgivende hjørner. Knoglerne udøver en bestemt kraft eller vægt på hvert hjørne, så når selve knoglen flyttes, reagerer den omgivende model, og det net, der udgør modellens "hud", deformeres. Denne type animation tager tid at skabe, men kan give meget naturtro bevægelser, når det gøres korrekt.
En OpenGL®-animation er afhængig af både den model, der er oprettet til at blive animeret, og på den måde, et program udfører animationen. Den mest anvendte måde er at gengive animationsrammer til et off-screen-område kendt som en buffer, før det drages til den synlige skærm. Dette gør det muligt at tegne billedet i sin helhed uden at brugeren behøver at se det, hvis det er for langsomt. Mange computerprogrammer, der bruger OpenGL®-animation, skal også sikre sig, at de opretholder en ensartet billedhastighed for at forhindre ujævne animationer, der opnås ved at timing af hver tegnet ramme og enten vente eller fremskynde gengivelsesprocessen.