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.
2.8 Wiedergabe von <strong>VRML</strong><br />
Da <strong>VRML</strong> kein eigenständiges Programm ist, sondern nur ein Dateiformat, sind sogenannte Viewer<br />
erforderlich, die dieses Format auswerten und darstellen können. Es existieren mehrere Lösungen zur<br />
Darstellung von <strong>VRML</strong>-Dateien. So gibt es neben externen Viewern und eigenständigen <strong>VRML</strong>-Browsern<br />
auch Programmerweiterungen für Internet-Browser. Eine weiterer Weg ist die Regelung der Darstellung<br />
über ein Java-Applet.<br />
Ein externer Viewer stellt ein Programm dar, das von einem Internet-Browser bei Bedarf aufgerufen<br />
werden kann, wird aber unabhängig vom Internet-Browser installiert. Die Erweiterungen für Internet-<br />
Browser werden von einigen Anbietern im Internet frei angeboten. Einige Internetseiten von<br />
Herstellern solcher Programme sind im Linkverzeichnis dieser Arbeit angegeben.<br />
Jeder dieser Viewer ermöglicht dem Anwender durch verschiedene Werkzeuge eine komfortable<br />
Betrachtungsmöglichkeit seiner Szene. Mit Hilfe der Maus kann die Szene gedreht, verschoben und<br />
zum Teil sogar inhaltlich verändert werden.<br />
<strong>VRML</strong>-Builder ermöglichen hingegen neben der Funktionalität eines Viewers, die Szene selbst zu<br />
erstellen und zu manipulieren, wobei eine interessantere Variante darin besteht, eine Szene mit 3D-<br />
<strong>Mode</strong>llierungsprogramm oder CAD-Programm zu erstellen und sie anschließend in <strong>VRML</strong> zu konvertieren.<br />
2.9 X3D<br />
Der aktuelle Stand der <strong>VRML</strong>-Entwicklung ist X3D (Extensible 3D). Die neue Variante ist der<br />
Nachfolger von <strong>VRML</strong>97, welche sich nicht wie erhofft im Internet durchsetzten konnte und noch<br />
einige Mängel aufwies. So wird eine Datei in unterschiedlich <strong>VRML</strong>-Viewern teilweise unterschiedlich<br />
dargestellt. Ein weiterer Aspekt ist das Fehlen eines Binärformats, um eine <strong>VRML</strong>-Datei komprimieren<br />
zu können. Solche und andere Gründe führten zur Weiterentwicklung von <strong>VRML</strong>, in der auch auf XML<br />
zurückgegriffen wurde, um zukünftig die Szenen zu beschreiben.<br />
3 Java3D<br />
Java3D ist ein Klassenbibliothek für Java, um in Applets oder Applikationen 3D-Grafik zu verwenden.<br />
Wie auch in <strong>Open</strong> <strong>Inventor</strong> und <strong>VRML</strong> können einzelne Objekte oder ganze virtuelle Welten<br />
erschaffen werden. Bei der Entwicklung von Java3D wurde auf bereits bestehende Konzepte von low-<br />
und high-level Grafiksystemen zurückgegriffen. Dabei wurde auch die Nutzung von 3D-Peripherie-<br />
Geräten berücksichtigt. Java3D stellt damit eine sehr mächtige Klasse zur Verfügung, die es auf<br />
einfache Art und Weise ermöglicht, 3D-Grafik zu erstellen. Es werden vom Anwender keine<br />
umfassenden Kenntnisse über dreidimensionale Grafik vorrausgesetzt, wie es bei <strong>Open</strong> GL der Fall<br />
ist. Die Entwicklung von Java3D begann 1996 in einer Gruppe von Firmen mit dem Zweck, eine<br />
plattformübergreifende und effiziente API zu entwerfen. Die Unternehmen Intel, Sun und SGI sahen<br />
das Haupteinsatzgebiet in der Realisierung von Internet-Visualisierungs-Anwendungen. Nach<br />
eineinhalb Jahren wurde die erste endgültige Spezifikation vorgestellt.<br />
3.1 Szenegraph<br />
Der Szenegraph von Java3D ist wie auch in <strong>VRML</strong> und <strong>Open</strong> <strong>Inventor</strong> ein azyklischer, gerichteter<br />
Graph. Jedoch gibt es einige Unterschiede im Aufbau des Graphen.<br />
Die Knoten sind Java Objekte, die in der Baumstruktur angeordnet sind. Solch ein Graph oder<br />
mehrere dieser Strukturen können einem sogenannten virtuellen Universum hinzugefügt werden. Die<br />
Anordnung der Knoten bestimmt, wie und wo ein 3D-Objekt dargestellt wird, oder wie der Benutzer mit<br />
ihnen interagieren kann. Eine Verbindung zwischen zwei Knoten stellt dabei immer eine Vater-Kind-<br />
Beziehung dar, d.h. der Zustand eines Kindknoten definiert sich durch die Knoten auf direktem Pfad<br />
zwischen Kind und der Wurzel, während etwa in <strong>Open</strong> <strong>Inventor</strong> ein Knoten links oben alle Knoten<br />
rechts unterhalb seiner Position beeinflussen kann.<br />
13