WebGL anhand von Beispielen
WebGL anhand von Beispielen ist eine Serie von Live-Beispielen mit kurzen Erklärungen, die WebGL-Konzepte und -Fähigkeiten veranschaulichen.
Die Beispiele sind nach Thema und Schwierigkeitsgrad sortiert und decken den WebGL-Rendering-Kontext, Shader-Programmierung, Texturen, Geometrie, Benutzerinteraktion und mehr ab.
Beispiele nach Thema
Die Beispiele sind in aufsteigender Schwierigkeit sortiert. Anstatt sie nur in einer langen Liste zu präsentieren, sind sie zusätzlich in Themen unterteilt. Manchmal behandeln wir ein Thema mehrmals, z. B. wenn wir es zunächst auf einem grundlegenden Niveau erörtern müssen und später auf mittlerem und fortgeschrittenem Niveau.
Anstatt schon im ersten Programm Shader, Geometrie und die Arbeit mit GPU-Speicher zu jonglieren, werden die Beispiele hier schrittweise in WebGL erkundet. Wir glauben, dass dies zu einem effektiveren Lernerlebnis führt und letztendlich ein tieferes Verständnis der zugrunde liegenden Konzepte ermöglicht.
Erklärungen zu den Beispielen finden Sie sowohl im Haupttext als auch in Kommentaren innerhalb des Codes. Sie sollten alle Kommentare lesen, da fortgeschrittenere Beispiele Kommentare zu Codeabschnitten möglicherweise nicht wiederholen, die zuvor erklärt wurden.
Den Rendering-Kontext kennenlernen
- Detect WebGL
-
Dieses Beispiel zeigt, wie man einen WebGL-Rendering-Kontext erkennt und das Ergebnis dem Benutzer meldet.
- Clearing with colors
-
Wie man den Rendering-Kontext mit einer Volltonfarbe löscht.
- Clearing by clicking
-
Wie man Benutzerinteraktion mit Grafikoperationen kombiniert. Löschen des Rendering-Kontextes mit einer zufälligen Farbe, wenn der Benutzer klickt.
- Simple color animation
-
Eine sehr einfache Farbanimation, indem der WebGL-Zeichenpuffer jede Sekunde mit einer anderen zufälligen Farbe gelöscht wird.
- Color masking
-
Modifizieren zufälliger Farben durch Anwenden von Farbmaskierung und dadurch Begrenzung des Bereichs der angezeigten Farben auf bestimmte Schattierungen.
- Basic scissoring
-
Wie man Rechtecke und Quadrate mit Zuschneideoperationen zeichnet.
- Canvas size and WebGL
-
Das Beispiel untersucht die Auswirkung der Festlegung (oder Nichtfestlegung) der Canvas-Größe auf ihre Elementgröße in CSS-Pixeln, wie sie im Browserfenster angezeigt wird.
- Boilerplate 1
-
Das Beispiel beschreibt wiederkehrende Codeabschnitte, die von nun an ausgeblendet werden, sowie die Definition einer JavaScript-Dienstfunktion zur Vereinfachung der WebGL-Initialisierung.
- Scissor animation
-
Etwas Animationsspaß mit Zuschneide- und Löschoperationen.
- Raining rectangles
-
Ein Spiel, das das Löschen mit Volltonfarben, Zuschneiden, Animation und Benutzerinteraktion demonstriert.
Grundlagen der Shader-Programmierung
- Hello GLSL
-
Ein sehr einfaches Shader-Programm, das ein Quadrat in einer Vollfarbe zeichnet.
- Hello vertex attributes
-
Kombination von Shader-Programmierung und Benutzerinteraktion durch Vertex-Attribute.
- Textures from code
-
Eine Demonstration prozeduraler Texturierung mit Fragment-Shadern.
Verschiedene fortgeschrittene Beispiele
- Video textures
-
Dieses Beispiel zeigt, wie man Videodateien als Texturen verwendet.