Ce este o animație OpenGL®?

Animația OpenGL® este un termen general aplicat oricărei scene care are obiecte în mișcare în ea și este redată utilizând bibliotecile OpenGL®. Din perspectiva programării, există mai multe metode care pot fi folosite pentru a crea o animație OpenGL®. Într-o vizualizare mai orientată spre grafica computerizată, o animație OpenGL® poate fi orice secvență animată care a fost redată cu OpenGL®, indiferent dacă scena a fost generată în codul sursă al programului sau într-un program de modelare independent. Există mai multe tipuri de animații care pot fi realizate cu OpenGL® și alte biblioteci de suport, dar două dintre cele mai utilizate sunt animația cadru cheie și animația scheletică.

Cel mai elementar tip de animație OpenGL® implică pur și simplu mutarea unui obiect printr-o scenă. Acest lucru se face de obicei prin schimbarea locației fiecăreia dintre coordonatele vârfurilor în mod egal, translandu-le încet spre poziția dorită. Poziția camerei într-o scenă poate fi, de asemenea, modificată pentru a crea un efect de animație, deși întreaga scenă va rămâne statică în acest caz. Această formă de bază de animație este folosită frecvent în programele bidimensionale (2D) în care obiectele sunt doar substituenți pentru afișarea texturilor.

Animația cu cadre cheie este un proces mult mai complex. Această formă de animație OpenGL® implică luarea unui model care a fost încărcat în scenă și mutarea lui progresiv către o altă poziție, numită cadru cheie. Un exemplu este modelul unei mâini care flutură. Poziția inițială a mâinii este comparată cu un alt model, sau cadru cheie, de animație în care mâna este complet extinsă. Mișcarea medie și incrementală a mâinii creează animația fără a fi nevoie de a stoca poziția mâinii în fiecare increment de-a lungul traseului.

Un alt tip de animație OpenGL® este cunoscut ca animație scheletală. Aceasta implică crearea unui model, de obicei al unui om sau animal articulat, și apoi crearea unui tip de structură osoasă în interiorul modelului. Fiecare dintre oase este atașat, virtual, de vârfurile din jur ale modelului. Oasele exercită o anumită forță, sau greutate, pe fiecare vârf, astfel încât, atunci când osul însuși este mișcat, modelul din jur reacționează și plasa care alcătuiește „pielea” modelului se deformează. Acest tip de animație necesită timp pentru a crea, dar poate oferi mișcări foarte realiste atunci când este realizată corect.

O animație OpenGL® se bazează atât pe modelul creat pentru a fi animat, cât și pe modul în care un program realizează animația. Cea mai utilizată modalitate este de a reda cadre de animație într-o zonă în afara ecranului cunoscută sub numele de buffer înainte de a fi atrase pe ecranul vizibil. Acest lucru permite ca imaginea să fie desenată în întregime fără ca utilizatorul să fie nevoit să o vizioneze dacă este prea lentă. Multe programe de calculator care folosesc animația OpenGL® trebuie, de asemenea, să se asigure că mențin o rată constantă a cadrelor pentru a preveni animațiile săritoare, ceea ce se realizează prin cronometrarea fiecărui cadru desenat și fie așteptând, fie accelerând procesul de randare.