Proseminar Computergrafik: Retained Mode: Open Inventor, VRML ...
Proseminar Computergrafik: Retained Mode: Open Inventor, VRML ...
Proseminar Computergrafik: Retained Mode: Open Inventor, VRML ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
1.2 Szenegraph<br />
<strong>Open</strong> GL funktioniert auf dem Prinzip einer Zustandsmaschine, infolgedessen können<br />
Transformationen und Attribute nur eine Zustand einnehmen. Diese Eigenschaft hat der <strong>Open</strong><br />
<strong>Inventor</strong> geerbt und das beeinflusst die Abarbeitung des Szenegraphen.<br />
Der Szenegraph ist ein azyklischer, gerichteter Graph, in dem eine 3D-Szene gespeichert wird. Er ermöglicht<br />
es die Position und die Orientierung von 3D-Objekten zueinander festzulegen. Die Struktur<br />
eines solchen Graphen entspricht der eines Baumes, wobei die Knoten des Baumes die Elemente der<br />
3D-Szene sind. Sämtliche Bestandteile einer Szene sind in den Knoten festgehalten. Neben den 3D-<br />
Objekten werden auch Transformation, Licht, Kamera und Attribute (Textur ,Farbe ,...) in Knotenform<br />
eingefügt. In der folgenden Abbildung ist ein einfacher Beispielgraph dargestellt.<br />
Abbildung 2 Beispiel für Szenegraph des <strong>Open</strong> <strong>Inventor</strong><br />
Der Szenegraph wird zeilenweise und von links nach rechts durchlaufen, wobei jeder Knoten seine<br />
Nachfolger beeinflusst. Im Beispielgraph wird von der Wurzel ausgehend die Betrachterposition und<br />
die Beleuchtung des Autos bestimmt. Dann werden Farbe und Position festgelegt, die sich auf den<br />
Knoten mit der geometrischen Beschreibung der Karosserie auswirken. Ein weiterer Knoten ändert<br />
dann das Attribut Farbe für seine nachfolgenden Knoten, d.h. das Rad wird schwarz und erscheint<br />
bedingt durch die Transformationsknoten an vier verschiedenen Positionen.<br />
Beim durchlaufen (auch traversieren) der einzelnen Knoten wird ein Zustand („traversal state“) mitgeführt.<br />
Dieser entspricht bildlich gesprochen einem Lesekopf, der den Baum durchläuft und ihn in<br />
<strong>Open</strong> GL-Anweisungen übersetzt, welche dann vom System weiter verarbeitet werden und schließlich<br />
auf dem Bildschirm in Form der 3D-Szene erscheinen.<br />
02