Che cos’è un’animazione OpenGL®?

Animazione OpenGL® è un termine generico applicato a qualsiasi scena che contiene oggetti in movimento al suo interno ed è resa utilizzando le librerie OpenGL®. Dal punto di vista della programmazione, esistono diversi metodi che possono essere utilizzati per creare un’animazione OpenGL®. All’interno di una visualizzazione più orientata alla computer grafica, un’animazione OpenGL® può essere qualsiasi sequenza animata resa con OpenGL®, indipendentemente dal fatto che la scena sia stata generata all’interno del codice sorgente del programma o all’interno di un programma di modellazione autonomo. Esistono diversi tipi di animazioni che possono essere eseguite con OpenGL® e altre librerie di supporto, ma due delle più utilizzate sono l’animazione con fotogrammi chiave e l’animazione scheletrica.

Il tipo più elementare di animazione OpenGL® prevede semplicemente lo spostamento di un oggetto attraverso una scena. Questo di solito viene fatto modificando equamente la posizione di ciascuna delle coordinate del vertice, traslandole lentamente verso la posizione desiderata. Anche la posizione della telecamera in una scena può essere modificata per creare un effetto di animazione, anche se in questo caso l’intera scena rimarrà statica. Questa forma di animazione di base è spesso utilizzata nei programmi bidimensionali (2D) in cui gli oggetti sono solo segnaposto per visualizzare le trame.

L’animazione dei fotogrammi chiave è un processo molto più complesso. Questa forma di animazione OpenGL® implica prendere un modello che è stato caricato nella scena e spostarlo in modo incrementale verso un’altra posizione, chiamata fotogramma chiave. Un esempio è un modello di una mano che saluta. La posizione iniziale della mano viene confrontata con un altro modello, o fotogramma chiave, di animazione in cui la mano è completamente estesa. Il movimento medio e incrementale della mano crea l’animazione senza la necessità di memorizzare la posizione della mano in ogni incremento lungo il percorso.

Un altro tipo di animazione OpenGL® è noto come animazione scheletrica. Ciò comporta la creazione di un modello, di solito di un essere umano o animale articolato, e quindi la creazione di un tipo di struttura ossea all’interno del modello. Ciascuna delle ossa è attaccata, virtualmente, ai vertici circostanti del modello. Le ossa esercitano una certa forza, o peso, su ciascun vertice in modo che quando l’osso stesso viene spostato, il modello circostante reagisce e la mesh che costituisce la “pelle” del modello si deforma. Questo tipo di animazione richiede tempo per essere creato, ma può fornire movimenti molto realistici se eseguito correttamente.

Un’animazione OpenGL® si basa sia sul modello creato per essere animato sia sul modo in cui un programma esegue l’animazione. Il modo più utilizzato consiste nel rendere i fotogrammi dell’animazione in un’area fuori schermo nota come buffer prima di essere disegnati sullo schermo visibile. Ciò consente di disegnare l’immagine nella sua interezza senza che l’utente debba guardarla se è troppo lenta. Molti programmi per computer che utilizzano l’animazione OpenGL® devono anche assicurarsi di mantenere una frequenza fotogrammi coerente per evitare animazioni saltellanti, che si ottengono cronometrando ogni fotogramma disegnato e attendendo o accelerando il processo di rendering.