Spieleentwicklung im Web

Tutorial 35 – Deferred Water Rendering (Screen Space Water Rendering)

In unserem heutigen Tutorial werden wir uns mit der Darstellung von Wasser-Effekten befassen. Im Gegensatz zu den allgemein etablierten Techniken bei der Wasserdarstellung werden wir jedoch einen gänzlich anderen Weg einschlagen:


  • Einerseits erfolgt die Animation der dreidimensionalen Wasserwellen im Rahmen des Post-Processings ohne Verwendung zusätzlicher Vertexdaten für die Modellierung der Wasseroberfläche und
  • andererseits werden sämtliche Echtzeit-Reflexionen ohne einen zusätzlichen Render-Durchgang ausschließlich im Screen Space berechnet (Screen Space Local Reflections).













Features:
  • 3D-Wellenanimationen (ohne zusätzliche Vertex-Gitter)
  • Echtzeit-Reflexionen und Refraktionen der Umgebung (ohne zusätzliche Render-Durchgänge)
  • spiegelnde Reflexion des Sonnen- sowie des Umgebungslichts
  • Schaumkronen auf den Wellen und im Flachwasser-Bereich
  • Unterwasserdarstellung samt Kaustiken
































Tutorial 34 – Screen Space Lens Flares und God Rays (Volumetric Light Scattering)

Im heutigen Tutorial demonstrieren wir Ihnen die Darstellung von Lens Flares und God Rays im Verlauf der Post-Processing-Phase.

Lens-Flare-Effekte entstehen durch Streulichtreflexionen im Linsensystem einer Kamera. Ihre Darstellung erfolgte lange Zeit über ausschließlich mithilfe von Billboards, die entlang einer durch die Bildmitte und Lichtquelle verlaufende Achse positioniert und ausgerichtet wurden. Beim Screen-Space-basieren Ansatz ersetzen wir die einzelnen Billboards durch
Mehrfachabbilder (Ghosts) der für die Linsenreflexionen verantwortlichen Lichtquelle und simulieren darüber hinaus die chromatische Aberration (Chromatic Distortion) des Linsensystems – ein Abbildungsfehler, der dadurch entsteht, dass Licht unterschiedlicher Farbe unterschiedlich stark gebrochen wird (Regenbogen- bzw. Prismeneffekt).







Tutorial 33 – Depth of Field und Motion Blur

Mit Bedacht eingesetzte Unschärfeberechnungen tragen dazu bei, das Spielerlebnis zu verbessern und können behilflich sein, Einbrüche der Framerate (Ruckler) abzumildern oder die zunehmende Detailarmut im Hintergrund zu verschleiern.
Im heutigen Tutorial demonstrieren wir Ihnen, wie man mithilfe des Depth-of-Field-Effekts die abstandsabhängige Schärfenwahrnehmung des menschlichen Auges simulieren kann und wie sich dank Motion Blur ein Gefühl von Geschwindigkeit erzeugen lässt:

Bei der Berechnung der Bewegungsunschärfe (Motion Blur) kombinieren wir das aktuelle Szenenbild mit dem Low-Resolution-Szenenbild des vorangegangenen Frames. Da wir keine unnötige Rechenleistung verschwenden wollen, nutzen wir das Low-Resolution-Szenenbild gleichsam für die Simulation des Depth-of-Field-Effekts.

Im Zuge der Depth-of-Field-Berechnungen teilen wir den sichtbaren Bereich in Abhängigkeit von der Kameradistanz in drei Zonen auf – den Nahbereich (maximale Unschärfe), den
Fokusbereich (mit zunehmendem Abstand von der Fokusebene nimmt die Schärfentiefe kontinuierlich ab) sowie den Fernbereich (maximale Unschärfe).









Kurzsicht-Depth-of-Field-Effekt: Alle Szenenobjekte, für die keine Tiefeninformationen vorliegen (z. B. Sky Boxen, Hintergrund-Billboards, usw.), werden generell unscharf dargestellt.

Fernsicht-Depth-of-Field-Effekt: Alle Szenenobjekte, für die keine Tiefeninformationen vorliegen (z. B. Sky Boxen, Hintergrund-Billboards, usw.), werden generell scharf dargestellt.