Što je OpenGL® animacija?

OpenGL® animacija je opći pojam koji se primjenjuje na bilo koju scenu u kojoj se pomiču objekti i koja se prikazuje korištenjem OpenGL® biblioteka. Iz perspektive programiranja, postoji nekoliko metoda koje se mogu koristiti za stvaranje OpenGL® animacije. Unutar pogleda koji je više usmjeren na računalnu grafiku, OpenGL® animacija može biti bilo koja animirana sekvenca koja je prikazana pomoću OpenGL®-a, bilo da je scena generirana unutar izvornog koda programa ili unutar samostalnog programa za modeliranje. Postoji nekoliko vrsta animacija koje se mogu napraviti s OpenGL® i drugim pratećim bibliotekama, ali dvije od najčešće korištenih su animacija ključnih kadrova i skeletna animacija.

Najosnovniji tip OpenGL® animacije jednostavno uključuje pomicanje objekta kroz scenu. To se obično radi jednakom promjenom položaja svake od koordinata vrha, polagano ih prevodeći prema željenoj poziciji. Položaj kamere u sceni također se može promijeniti kako bi se stvorio efekt animacije, iako će cijela scena u ovom slučaju ostati statična. Ovaj osnovni oblik animacije često se koristi u dvodimenzionalnim (2D) programima u kojima su objekti samo rezervirana mjesta za prikaz tekstura.

Animacija ključnih kadrova mnogo je složeniji proces. Ovaj oblik OpenGL® animacije uključuje uzimanje modela koji je učitan u scenu i pomicanje ga postupno prema drugoj poziciji, koja se zove ključni kadar. Jedan primjer je model ruke koja maše. Početni položaj ruke uspoređuje se s drugim modelom ili ključnim kadrom animacije u kojem je ruka potpuno ispružena. Usrednjavanje i inkrementalno kretanje ruke stvara animaciju bez potrebe pohranjivanja položaja ruke u svakom koraku duž putanje.

Druga vrsta OpenGL® animacije poznata je kao skeletna animacija. To uključuje stvaranje modela, obično artikuliranog čovjeka ili životinje, a zatim stvaranje vrste koštane strukture unutar modela. Svaka od kostiju je pričvršćena, virtualno, na okolne vrhove modela. Kosti djeluju određenom silom, odnosno težinom, na svaki vrh, tako da kada se sama kost pomakne, okolni model reagira i mreža koja čini “kožu” modela deformira. Za ovu vrstu animacije potrebno je vrijeme za stvaranje, ali može pružiti vrlo realistične pokrete kada se napravi ispravno.

OpenGL® animacija se oslanja i na model kreiran za animaciju i na način na koji program izvodi animaciju. Najčešći način je renderiranje okvira animacije u područje izvan zaslona poznato kao međuspremnik prije nego što se nacrta na vidljivom zaslonu. To omogućuje da se slika nacrta u cijelosti, a da je korisnik ne mora gledati ako je prespora. Mnogi računalni programi koji koriste OpenGL® animaciju također moraju osigurati da održavaju dosljednu brzinu kadrova kako bi spriječili skokovite animacije, što se postiže tempiranjem svakog nacrtanog okvira i čekanjem ili ubrzavanjem procesa renderiranja.