Co to jest animacja OpenGL®?
Animacja OpenGL® to ogólny termin stosowany do każdej sceny, która ma w sobie poruszające się obiekty i jest renderowane przy użyciu bibliotek OpenGL®. Z perspektywy programowania istnieje kilka metod, które można użyć do stworzenia animacji OpenGL®. W widoku zorientowanym na grafikę komputerową, animacja OpenGL® może być dowolną animowaną sekwencją renderowaną za pomocą OpenGL®, niezależnie od tego, czy scena została wygenerowana w kodzie źródłowym programu, czy w ramach samodzielnego programu modelowania. Istnieje kilka rodzajów animacji, które można wykonać z OpenGL® i innymi bibliotekami wspierającymi, ale dwa z najczęściej używanych to animacja klamska i animacja szkieletowa.
Najbardziej podstawowa animacja OpenGL® po prostu polega na przeniesieniu obiektu przez scenę. Zwykle odbywa się to poprzez zmianę lokalizacji każdego z współrzędnych wierzchołków jednakowo, tłumacząc je powoli w kierunku pożądanej pozycji. Położenie aparatu w scenie można również zmienić, aby stworzyć animację eFFECT, chociaż cała scena pozostanie w tym przypadku statyczna. Ta podstawowa forma animacji jest często używana w programach dwuwymiarowych (2d), w których obiekty są po prostu symbolami zastępczymi do wyświetlania tekstur.
Animacja klatki kluczowej jest znacznie bardziej złożonym procesem. Ta forma animacji OpenGL® polega na przyjęciu modelu, który został załadowany na scenę i przesuwanie go stopniowo w kierunku innej pozycji, zwanej ramką kluczową. Jednym z przykładów jest model machania ręcznego. Początkowa pozycja ręki jest porównywana z innym modelem lub klamrą kluczy animacji, w której ręka jest w pełni rozszerzona. Uśrednianie i przyrostowy ruch ręki tworzy animację bez konieczności przechowywania pozycji dłoni w każdym przyrostu wzdłuż ścieżki.
Inny rodzaj animacji OpenGL® jest znany jako animacja szkieletowa. Obejmuje to stworzenie modelu, zwykle wyartykułowanego człowieka lub zwierząt,a następnie tworzenie rodzaju struktury kości wewnątrz modelu. Każda z kości jest dołączona praktycznie do otaczających wierzchołków modelu. Kości wywierają pewną siłę lub ciężar na każdy wierzchołek, tak że gdy sama kość jest poruszana, otaczający model reaguje, a siatka, która tworzy „skórę” deformacji modelu. Ten rodzaj animacji wymaga czasu, ale może zapewnić bardzo realistyczne ruchy, gdy wykonano poprawnie.
Animacja OpenGL® opiera się zarówno na modelu utworzonym tak, aby był animowany, jak i po sposobie wykonania animacji. Najbardziej używanym sposobem jest renderowanie ram animacji w obszarze poza ekranem znanym jako bufor przed przyciągnięciem widocznego ekranu. Umożliwia to narysowanie obrazu w całości bez konieczności oglądania go, jeśli jest zbyt wolny. Wiele programów komputerowych, które korzystają z Animacji OpenGL®, musi również upewnić się, że utrzymują spójną szybkość klatek, aby zapobiec animacjom skokowym, co jest osiągane poprzez czas narysowania każdej ramkid czekam lub przyspieszenie procesu renderowania.