Che cos'è un'animazione OpenGL®?
L'animazione OpenGL® è un termine generale applicato a qualsiasi scena in cui gli oggetti si muovono al suo interno e viene riprodotto 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 vista più orientata alla grafica computerizzata, un'animazione OpenGL® può essere qualsiasi sequenza animata che è stata riprodotta 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 dei fotogrammi chiave e l'animazione scheletrica.
Il tipo più elementare di animazione OpenGL® consiste semplicemente nello spostare un oggetto attraverso una scena. Questo di solito viene fatto cambiando la posizione di ciascuna delle coordinate del vertice allo stesso modo, traducendole 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 base di animazione viene 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® comporta il prendere un modello che è stato caricato nella scena e spostarlo in modo incrementale verso un'altra posizione, chiamato keyframe. Un esempio è un modello di agitando la mano. La posizione iniziale della mano viene confrontata con un altro modello, o fotogramma chiave, dell'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 ciascun incremento lungo il percorso.
Un altro tipo di animazione OpenGL® è noto come animazione scheletrica. Ciò comporta la creazione di un modello, generalmente 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 tale che quando l'osso stesso viene mosso, il modello circostante reagisce e si deforma la maglia che costituisce la "pelle" del modello. 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ù usato è di rendere i fotogrammi di animazione in un'area fuori dallo 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 dei fotogrammi costante per evitare animazioni saltanti, che si ottiene temporizzando ciascun fotogramma disegnato e aspettando o accelerando il processo di rendering.