Was ist eine OpenGL®-Animation?
OpenGL®-Animation ist ein allgemeiner Begriff für jede Szene, in der sich Objekte bewegen und die mithilfe der OpenGL®-Bibliotheken gerendert wird. Aus Programmiersicht gibt es verschiedene Methoden, mit denen eine OpenGL®-Animation erstellt werden kann. In einer eher computergrafikorientierten Ansicht kann eine OpenGL®-Animation eine beliebige animierte Sequenz sein, die mit OpenGL® gerendert wurde, unabhängig davon, ob die Szene im Quellcode des Programms oder in einem eigenständigen Modellierungsprogramm generiert wurde. Es gibt verschiedene Arten von Animationen, die mit OpenGL® und anderen unterstützenden Bibliotheken erstellt werden können, aber zwei der am häufigsten verwendeten sind Keyframe-Animationen und Skelett-Animationen.
Die einfachste Art der OpenGL®-Animation besteht darin, ein Objekt durch eine Szene zu bewegen. Dies erfolgt normalerweise, indem die Position jeder der Scheitelpunktkoordinaten gleichermaßen geändert wird und diese langsam in Richtung der gewünschten Position verschoben werden. Die Position der Kamera in einer Szene kann auch geändert werden, um einen Animationseffekt zu erzielen. In diesem Fall bleibt jedoch die gesamte Szene statisch. Diese grundlegende Form der Animation wird häufig in zweidimensionalen (2D) Programmen verwendet, in denen die Objekte nur Platzhalter für die Anzeige von Texturen sind.
Keyframe-Animation ist ein viel komplexerer Prozess. Bei dieser Form der OpenGL®-Animation wird ein Modell, das in die Szene geladen wurde, schrittweise an eine andere Position verschoben, die als Keyframe bezeichnet wird. Ein Beispiel ist das Modell einer Handbewegung. Die Anfangsposition der Hand wird mit einem anderen Modell oder Keyframe der Animation verglichen, bei dem die Hand vollständig gestreckt ist. Durch die Mittelwertbildung und inkrementelle Bewegung der Hand wird die Animation erstellt, ohne dass die Position der Hand in jedem Inkrement entlang des Pfades gespeichert werden muss.
Eine andere Art von OpenGL®-Animation ist als Skelettanimation bekannt. Dies beinhaltet die Erstellung eines Modells, normalerweise eines artikulierten Menschen oder Tieres, und die Erstellung einer Art Knochenstruktur innerhalb des Modells. Jeder der Knochen ist virtuell an den umgebenden Scheitelpunkten des Modells befestigt. Die Knochen üben auf jeden Scheitelpunkt eine bestimmte Kraft oder ein bestimmtes Gewicht aus, sodass das umgebende Modell reagiert und sich das Netz, aus dem die "Haut" des Modells besteht, verformt, wenn der Knochen selbst bewegt wird. Diese Art der Animation braucht Zeit, um erstellt zu werden, kann aber bei richtiger Ausführung sehr naturgetreue Bewegungen liefern.
Eine OpenGL®-Animation basiert sowohl auf dem zu animierenden Modell als auch auf der Art und Weise, wie ein Programm die Animation ausführt. Die am häufigsten verwendete Methode besteht darin, Animationsframes in einem als Puffer bezeichneten Bereich außerhalb des Bildschirms zu rendern, bevor sie auf den sichtbaren Bildschirm gezogen werden. Auf diese Weise kann das Bild vollständig gezeichnet werden, ohne dass der Benutzer es ansehen muss, wenn es zu langsam ist. Viele Computerprogramme, die OpenGL®-Animationen verwenden, müssen auch sicherstellen, dass sie eine konsistente Bildrate beibehalten, um sprunghafte Animationen zu vermeiden. Dies wird erreicht, indem jedes Bild zeitlich gesteuert wird und entweder gewartet oder der Rendervorgang beschleunigt wird.