Vad är en OpenGL®-animation?

OpenGL®-animering är en allmän term som används för alla scener som har objekt som rör sig inom sig och som återges med hjälp av OpenGL®-biblioteken. Ur ett programmeringsperspektiv finns det flera metoder som kan användas för att skapa en OpenGL®-animation. Inom en mer datorgrafikorienterad vy kan en OpenGL®-animation vara vilken animerad sekvens som helst som renderades med OpenGL®, oavsett om scenen genererades i programmets källkod eller i ett fristående modelleringsprogram. Det finns flera typer av animationer som kan göras med OpenGL® och andra stödjande bibliotek, men två av de mest använda är keyframe-animering och skelettanimering.

Den mest grundläggande typen av OpenGL®-animering innebär helt enkelt att flytta ett objekt genom en scen. Detta görs vanligtvis genom att ändra platsen för var och en av vertexkoordinaterna lika mycket, och översätta dem långsamt mot önskad position. Kamerans position i en scen kan också ändras för att skapa en animationseffekt, även om hela scenen förblir statisk i detta fall. Denna grundläggande form av animering används ofta i tvådimensionella (2D) program där objekten bara är platshållare för att visa texturer.

Keyframe-animering är en mycket mer komplex process. Denna form av OpenGL®-animering innebär att man tar en modell som har laddats in i scenen och flyttar den stegvis mot en annan position, kallad en nyckelbildruta. Ett exempel är en modell av en hand som viftar. Handens initiala position jämförs med en annan modell, eller keyframe, av animering där handen är helt utsträckt. Handens medelvärde och inkrementella rörelse skapar animationen utan att man behöver lagra handens position i varje steg längs banan.

En annan typ av OpenGL®-animering är känd som skelettanimering. Detta innebär att skapa en modell, vanligtvis av en ledad människa eller ett djur, och sedan skapa en typ av benstruktur inuti modellen. Vart och ett av benen är fäst, praktiskt taget, till de omgivande hörnen av modellen. Benen utövar en viss kraft, eller vikt, på varje vertex så att när själva benet flyttas reagerar den omgivande modellen och nätet som utgör modellens ”hud” deformeras. Denna typ av animering tar tid att skapa men kan ge mycket verklighetstrogna rörelser när de görs på rätt sätt.

En OpenGL®-animation bygger både på modellen som skapats för att animeras och på hur ett program utför animeringen. Det mest använda sättet är att återge ramar av animation till ett område utanför skärmen som kallas en buffert innan de dras till den synliga skärmen. Detta gör att bilden kan ritas i sin helhet utan att användaren behöver titta på den om den är för långsam. Många datorprogram som använder OpenGL®-animering måste också se till att de bibehåller en konsekvent bildhastighet för att förhindra häftiga animeringar, vilket åstadkoms genom att tajma varje bildruta som ritas och antingen vänta eller påskynda renderingsprocessen.