3DWEBDESIGN
WebGL (Web Graphics Library) ist der neueste Standard für 3D-Grafiken im Web und wurde speziell für das Rendern von 2D-Grafiken und interaktiven 3D-Visualisierungen entwickelt. Es basiert auf der OpenGL ES 2.0-Bibliothek, die eine Low-Level-3D-API für mobile Geräte und Smartphones darstellt. WebGL™ bietet eine vergleichbare Funktionalität wie ES 2.0 (Embedded Systems) und ist für die Leistung auf modernen 3D-Grafikhardware optimiert.
Was ist WebGL™?
WebGL™ ist eine JavaScript-API, die mit HTML5 verwendet werden kann. WebGL-Code wird innerhalb des "CANVAS"-Tags von HTML5 geschrieben. Es handelt sich um eine Spezifikation, die Internetbrowsern den Zugriff auf Grafikprozessoren (GPUs) auf den Computern ermöglicht, auf denen sie verwendet werden. WebGL™-Programme bestehen aus Steuerungscode, der in JavaScript geschrieben ist, und Shader-Code, der in OpenGL ES Shading Language (GLSL ES) geschrieben ist, einer Sprache, die C oder C++ ähnelt und auf der Grafikeinheit (GPU) eines Computers ausgeführt wird.
Echtzeit-Rendering
Rendering ist der Prozess, ein Bild aus einem Modell mithilfe von Computerprogrammen zu erstellen. In der Grafik wird eine virtuelle Szene mit verschiedenen Elementen definiert, einschließlich Geometrie, Blickwinkel, Textur, Beleuchtung und Schattierung, die alle von einem Renderprogramm verarbeitet werden. Das Ergebnis dieses Rendering-Prozesses ist ein digitales Bild.
Es gibt zwei Arten des Renderns:
Software-Rendering − Alle Rendering-Berechnungen werden mit Hilfe der CPU (Zentrale Verarbeitungseinheit) durchgeführt.
Hardware-Rendering − Alle Grafikberechnungen werden von der GPU (Grafikprozessor) durchgeführt.
Rendering kann lokal oder remote durchgeführt werden. Wenn das zu rendernde Bild zu komplex ist, erfolgt das Rendering remote auf einem dedizierten Server, der über ausreichend Hardware-Ressourcen verfügt, um komplexe Szenen zu rendern. Dies wird auch als serverbasiertes Rendering bezeichnet. Rendering kann auch lokal durch die CPU erfolgen, was als clientbasiertes Rendering bezeichnet wird.
WebGL™ verfolgt einen clientbasierten Rendering-Ansatz, um 3D-Szenen zu rendern. Alle Verarbeitungen, die zur Erzeugung eines Bildes erforderlich sind, werden lokal mit der Grafikhardware des Clients durchgeführt.
Vorteile von WebGL™
JavaScript-Programmierung − WebGL-Anwendungen werden in JavaScript geschrieben. Mit diesen Anwendungen können Sie direkt mit anderen Elementen des HTML-Dokuments interagieren. Sie können auch andere JavaScript-Bibliotheken (z. B. JQuery) und HTML-Technologien verwenden, um die WebGL-Anwendung zu bereichern.
Erhöhte Unterstützung für mobile Browser − WebGL unterstützt auch mobile Browser wie iOS Safari, Android Browser und Chrome für Android.
Open Source − WebGL ist Open Source. Sie können auf den Quellcode der Bibliothek zugreifen und verstehen, wie sie funktioniert und wie sie entwickelt wurde.
Keine Notwendigkeit zur Kompilierung − JavaScript ist eine halb-programmatische und halb-HTML-Komponente. Um dieses Skript auszuführen, ist es nicht notwendig, die Datei zu kompilieren. Stattdessen können Sie die Datei direkt mit einem beliebigen Browser öffnen und das Ergebnis überprüfen. Da WebGL-Anwendungen mit JavaScript entwickelt werden, ist auch keine Kompilierung von WebGL-Anwendungen erforderlich.
Automatische Speicherverwaltung − JavaScript unterstützt die automatische Speicherverwaltung. Eine manuelle Zuweisung von Speicher ist nicht erforderlich. WebGL erbt diese Funktion von JavaScript.
Einfache Einrichtung − Da WebGL in HTML 5 integriert ist, ist keine zusätzliche Einrichtung erforderlich.
Wie bei jedem anderen Grafik-API erfordert die Erstellung von Inhalten für WebGL-Szenen die Verwendung eines regulären 3D-Inhaltserstellungswerkzeugs und das Exportieren der Szene in ein Format, das vom Viewer oder einer Hilfsbibliothek lesbar ist.