Sergiy Krutykov

Zum Zeichnen der dreidimensionaler Objekte in OpenGL, müssen diese Objekte zuerst in einer passenden Form vorliegen. Sie bestehen häufig aus vielen Elementen, die unterschiedliche Farben, unterschiedliche Texturen und eventuell sogar unterschiedliche Orientierung im Raum haben (z.B., wenn nur ein Teil des Objekts animiert wird). In der folgenden Abbildung ist ein 3D-Tresor dargestellt, der an Luftballons hängt und dessen Tür sich öffnen lässt:

Die Bestandteile des Tresors sind: drei Luftballons(einzeln), Kette, Körper des Tresors, Tür, Klinke an der Tür, Platte mit 8-Puzzle darauf, Lämpchen, Leuchtkreis über dem Lämpchen und die Goldbarren. Diese Unterteilung in Bestandteile hat den Grund, dass sie erstens teilweise unterschiedlich gezeichnet werden sollen (z.B. sind Luftballons texturiert und die Kette ist nur grau gefärbt) und zweitens kann man die Bestandteile unabhängig voneinander im Raum transformieren. Zum Beispiel ermöglicht die Tatsache, dass die Tür nicht zu dem Tresor gehört, diese zu rotieren, ohne die Orientierung der anderen Teile vom Tresor zu ändern, was den Effekt der sich öffnenden Tür ermöglicht. Die Unabhängigkeit der Kette von dem Körper des Tresors ermöglicht zum Beispiel die folgende Animation:

Obwohl sich der Tresor als Ganzes um seine vertikale Achse dreht, verhalten sich seine Teile unterschiedlich: Die Kette und die Luftballons bleiben immer vertikal, während der Körper des Tresors selbst schwankt. Dies geschieht dadurch, dass auf unterschiedliche Teile des Tresor verschiedene Transformationsmatrizen angewandt werden.

Einige der Bestandteile dieses Tresors lassen sich mehr oder weniger leicht in dem Programm "on the fly" erzeugen, solche wie Lämpchen und Leuchtkreis, als auch Platte mit 8-Puzzle. Das Erstellen von anderen Bestandteilen, die etwas kompliziertere Strukturen haben, benötigt einen 3D-Editor. In diesem Projekt wurde der kostenloser Editor Blender eingesetzt. Mit Hilfe von diesem Editor wurde unter anderem der Tresor auf den Luftballons gemacht. So sieht er in Blender aus:

Links ist er in einfacher Beleuchtung und rechts ist er texturiert.

Ein Vorteil vom Blender, ist die Möglichkeit, die Objekte, die mit ihm gemacht worden sind, in Wavefront-Format (als obj-Dateien) zu exportieren, welches leicht zu parsen ist.


Page last modified on March 21, 2011, at 07:11 PM