3D Grafik im Web - Ex­em­plar­ische Ana­lyse ak­tueller Tech­no­lo­gi­en

Diplomarbeit von Franz Götz

Motivation

Die 3D Grafik im Web ist in den letzten Jahren immer interessanter geworden. Nachdem sich 2D Datei Formate, wie Shockwave Flash (SWF) von Macromedia und Scalable Vector Graphics (SVG) vom World Wide Web Consortium (W3C) bereits im Web etabliert haben und ein akzeptabler Nachfolger (Extensible 3D) für das Virtual Reality Modeling Language (VRML) Format, des quasi Standard 3D Formats im Web, auf der Siggraph 2001 verabschiedet wurde, steht der Revolution der 3D Grafik im Web nichts mehr im Wege. Durch die nahe Zusammenarbeit vom Web3D Consortium und der Moving Picture Experts Group (MPEG) entstand der Plan, dass das Extensible 3D (X3D) Format den Kern der MPEG-4 3D Integration bilden soll. Parallel zu dem auf dem Extensible Markup Language (XML) Format basierenden Extensible 3D (X3D) Format, wurde das Binary Format for Scenes (BIFS) als eine weitere 3D Format Alternative im MPEG-4 integriert. Nachfolger des MPEG-4 Formats (MPEG-7 und MPEG-21) sind bereits in der Planung.

Eine Vielzahl von Web Seiten nutzt Flash von Macromedia. Ein unbeschwertes Browsen durchs Web ist ohne installiertem Flash Player heutzutage nicht mehr denkbar. Aber es wird immer deutlicher, dass dieses in die Jahre kommende, auf 2D Grafik basierende System zukünftig von komplexeren 3D Systemen, wie z.B. Schockwave von Macromedia, Atmosphere von Adobe oder den auf MetaStream basierenden Produkten von Viewpoint, verdrängt wird. 

Auch Web PlugIns a la Blaxxun3D oder BlaxxunContact von Blaxxun Interactive, der Cortona VRML Client von ParallelGraphics oder auch der CosmoPlayer von CosmoSoftware werden bereits auf einigen Web Seiten vorausgesetzt.

Andere Projekte, unter anderem auch GL4Java von Jausoft, gehen noch weiter. Sie stellen Schnittstellen zur Verfügung, die die Möglichkeit bieten selbstentwickelte Java Programme im Browser auszuführen, die direkt auf die von der Grafikkarten Hardware beschleunigten 3D-APIs (z.B. OpenGL) des Betriebssystems zurückgreifen können. So braucht der Besucher einer Web Seite nicht ständig neue PlugIns installieren, sondern kann direkt die Java Programme im Browser durchstarten. Durch das plattformunabhängige Java und OpenGL und durch die Bereitstellung, des mittels Java Native Interface (JNI) realisierten Mappers, sind diese 3D-Systeme auf einer Vielzahl von Plattformen und innerhalb verschiedenster Browser lauffähig.

Analyse

Im Rahmen der Diplomarbeit sollen die aktuellen Technologien analysiet werden. Dazu werden alle relevanten  Schnittstellen (JNI, JDirect, ActiveX, COM), Formate (VRMLX3DMPEGSVGSWFXML) und 3D-APIs (OpenGLDirect3DJava3D), die zur Präsentation von 3D Grafik im Netz genutzt werden, vorgestellt. Eine Kategorisierung der etablierten aktuellen 3D-Systeme wird vorgenommen. Die möglichen Techniken zur Realisierung solcher Systeme werden verglichen und Vor- und Nachteile herausgearbeitet. Dieses beinhaltet unter anderem Vergleiche zwischen C++/Java, OpenGL/Direct3D und Java-OpenGL/Java3D. Letztendlich sollen sich durch das Ergebnis dieser Analyse die Techniken herauskristallisieren, die zur Entwicklung eines akzeptablen, effizienten und vielseitig nutzbaren 3D-Systems verwendet werden können.

Realisierung

Das Ziel der Diplomarbeit ist es, die gewonnen Erkenntnisse, die sich bei den Recherchen ergeben haben, in einem Programm umzusetzen. Es soll ein 3D System entstehen, das komplexe dreidimensionale Szenen, die zuvor aus 3dsMax oder Maya exportiert wurden, einlädt und unter Verwendung der Grafikkartenhardware beschleunigt im Browser darstellt. Zur Realisierung soll auf standardisierte Formate, Schnittstellen und Bibliotheken zurückgegriffen werden.  Bei dem 3D-Format fiel die Entscheidung auf das Extensible 3D Format. Die vorhandene XML Datei, die die 3D Daten beinhaltet, wird mittels des Xerces Java Parser geparst. Die nun handhabbaren 3D Informationen werden in einer selbstentwickelten, auf Java basierenden 3D-Engine dargestellt. Diese 3D-Engine nutzt den vom GL4Java zur Verfügung gestellten und mittels des Java Native Interface realisierten Java-OpenGL Mapper.

Für weitere Informationen bitte E-Mail an frank.goetz@epost.de.