Christian Stein (Diplom Informatiker)
Ein konzeptioneller Vergleich der 3D-Graphik-Schnittstellen OpenGL, Java3D und VRML hinsichtlich ihrer Eignung für die Erstellung von Animationen
Diplomarbeitsunterlagen
Meine Diplomarbeit (als PDF-Datei 522 KB), sowie
Anmerkungen zu ihr.
Meine Vortragsuntalagen (PowerPoint97-Datei 73 KB) und
der Programmcode zu den Programmbeispielen (Zip-Datei
124 KB).
Um die Programmbeispiele von Java3D laufen zu lassen wird mindestens JDK 1.2
und Java3D benötigt. Die Dateien können von
Sun herunter geladen werden. Um VRML-Welten anzuschauen ist in der
Regel der Cosmoplayer das
Richtige (PlugIn für Netscape und MS-InternetExplorer; ab Windows 3.1; Mac nur
Beta-Version). Das frei verfügbare
Octaga-Plugin
ist unteranderem für den IE 6.0 geeignet.
Inhalt
Übersicht
Da es in meiner Diplomarbeit um Animationen mit VRML, Java3D und OpenGL geht, hier eine kurzer Übersicht über die Zusammenhänge:OpenGL dient als Schnittstelle für den Programmierer um 3D-Welten zu erstellen, es ist 'der' Standard in seinem Bereich. Es ist als eine Art Bibliothek zu verstehen, die beim Programmieren mit eingebunden wird und auf dessen 3D-Funktionen zugegriffen wird (OpenGL ist nicht ObjektOrientiert).
VRML ist 'grob' gesagt das Gegenstück im Internet. Es ist eine Sprache, ähnlich zu HTML, die 3D-Welten beschreibt. Dabei ist der Funktionsumfang fast identisch mit dem von OpenGL. In seiner aktuellen Version ist in VRML auch die Möglichkeit von Animationen und Scripting vorgesehen, außerdem existiert einer Schnittstelle (das EAI; leider noch kein Standard) , so dass VRML von 'außen' gesteuert werden kann (diese Funktionalität wird vom Cosmoplayer schon unterstützt). In der Regel wird die (Script-)Sprache Java sein, da Java auch Platform- und Browserunabhängig ist. Aber auch JavaScript, bzw. VRML-Script (eine abgespeckte JavaScript-Version von VRML) sind gängig.
Java3D ist eine Klassenbibliothek von Java, die speziell für 3D-Welten konzipiert ist (Unterstützung erst ab Java 1.2).
Es werden alle 3 'Standards' auf den Siggraph-Konferenzen besprochen und dabei Änderungen diskutiert. Dies ist möglich, da VRML wie OpenGL, zwar jeweils von Silicon Graphics maßgeblich in die Welt gerufen wurden, aber jetzt jeweils in den Händen von einem Consortium liegen. Hingegen wird Java3D (noch) von einem 'kleinen' Zusammenschluss von Firmen erstellt. Es sind dies die Firmen: Sun, Silicon Graphics, Apple und Intel.
Die Leistungsumfänge von:
So wie ein Vergleich der drei APIs in Tabellenformat (grob, nicht vollständig) und eine Grafik, welche die Beziehung der Schnittstellen zu einander verdeutlicht.
HotLinks:
Das Logo ist von VRML-Consortium Incorporated.
-
Die VRML Homepage vom VRB
(VRML Review Board):
- Aktuelle: Die Working Groups
-
Auch die GMD (Gesellschaft
für Mathematik und Datenverarbeitung mbH Bonn) hat sich mit VRML beschäftigt.
- Wolfgang Brolls Publikationen.
- Die Brown University hat ein Research von VRML gemacht.
- Das Online-Buch von Rikk Carey, der Präsident vom VRML-Consortium (das VRMLC ist inzwischen vom VRB abgelöst).
- Hans-Lothar Hase (HRZ-Marburg) hat ein Buch über VRML geschrieben und einige Links zum momentanen Stand (Juni '97) der VRML-Entwicklung gesammelt.
- Papers zu 'Living Worls'
Hier noch ein kleines Beispiel, das aber nicht besonders typisch für VRML ist.
Java3D
-
Suns API-Seite zu
Java3D.
- Die Spezifikation von Java3D (Version 1.1).
- Die API-Spezifikation von Java3D (Version 1.1).
- Ein paar Beispiele.
- Bill Day hat etwas zu Java Media APIs auf der Siggraph97 geschrieben.
- Die Mailingliste zu Java 3D.
Das Logo ist von Silicon Graphics Computer Systems.
- Die Hompage von OpenGL.
- OpenGL aus der Sicht von der Ursprungsfirma Silicon Graphics Computer Systems.
Randgebiete, Neuerungen und Allgemeines
- Architektur (speziell für Microsoft Windowssysteme, d.h. in Bezug auf DirectX).
- Die Homepage der Siggraph.
- Die Homepage von R. Nadeau (sowohl Java3D, als auch VRML).