Mis on OpenGL® animatsioon?

OpenGL®-i animatsioon on üldtermin, mida kasutatakse mis tahes stseeni kohta, mille sees liiguvad objektid, ja renderdatakse OpenGL®-i teeke kasutades. Programmeerimise seisukohast on OpenGL®-i animatsiooni loomiseks mitu meetodit. Rohkem arvutigraafikale orienteeritud vaates võib OpenGL®-i animatsioon olla mis tahes animeeritud jada, mis on renderdatud OpenGL®-iga, olenemata sellest, kas stseen genereeriti programmi lähtekoodis või eraldiseisvas modelleerimisprogrammis. OpenGL®-i ja teiste toetavate teekide abil saab teha mitut tüüpi animatsioone, kuid kaks enimkasutatavat on võtmekaadri animatsioon ja skeletianimatsioon.

Kõige elementaarsem OpenGL®-i animatsiooni tüüp hõlmab lihtsalt objekti liigutamist läbi stseeni. Tavaliselt tehakse seda, muutes iga tipu koordinaatide asukohta võrdselt, tõlkides need aeglaselt soovitud asukoha suunas. Kaamera asukohta stseenis saab muuta ka animatsiooniefekti loomiseks, kuigi kogu stseen jääb sel juhul staatiliseks. Seda animatsiooni põhivormi kasutatakse sageli kahemõõtmelistes (2D) programmides, kus objektid on tekstuuride kuvamiseks vaid kohahoidjad.

Võtmekaadri animatsioon on palju keerulisem protsess. See OpenGL®-i animatsiooni vorm hõlmab stseenile laaditud mudeli võtmist ja selle järk-järgult liigutamist teise positsiooni, mida nimetatakse võtmekaadriks, suunas. Üks näide on käega vehkimise mudel. Käe algset asendit võrreldakse animatsiooni teise mudeli või võtmekaadriga, milles käsi on täielikult välja sirutatud. Käe keskmistamine ja järkjärguline liikumine loob animatsiooni, ilma et oleks vaja salvestada käe asendit igal sammul mööda teed.

Teist tüüpi OpenGL®-i animatsioone tuntakse skeletianimatsioonina. See hõlmab mudeli, tavaliselt liigendatud inimese või looma, loomist ja seejärel luustruktuuri tüübi loomist mudeli sees. Kõik luud on praktiliselt kinnitatud mudeli ümbritsevate tippude külge. Luud avaldavad igale tipule teatud jõudu ehk raskust, nii et luu enda liigutamisel reageerib ümbritsev mudel ja mudeli “naha” moodustav võrk deformeerub. Seda tüüpi animatsiooni loomine võtab aega, kuid võib anda väga elutruud liigutused, kui seda õigesti teha.

OpenGL®-animatsioon tugineb nii animeerimiseks loodud mudelile kui ka sellele, kuidas programm animatsiooni teostab. Enimkasutatav viis on animatsioonikaadrite renderdamine ekraanivälisele alale, mida nimetatakse puhvriks, enne kui need joonistatakse nähtavale ekraanile. See võimaldab joonistada pildi tervikuna, ilma et kasutaja peaks seda vaatama, kui see on liiga aeglane. Paljud OpenGL®-i animatsiooni kasutavad arvutiprogrammid peavad samuti tagama, et nad säilitaksid ühtse kaadrisageduse, et vältida hüplevaid animatsioone, mis saavutatakse iga joonistatud kaadri ajastamisega ja kas ootamisega või renderdusprotsessi kiirendamisega.