© Liashko/Shutterstock.com
Entwickler Magazin
Teil 5: 3-D-Wellen, Wasserspiegelungen, Schaumkronen und Kaustiken als Post-Processing-Effekt

Pack die Badehose ein: Water Rendering 2.0

Realistische Echtzeitwassereffekte sorgen seit jeher für den berüchtigten Wow-Effekt in der Spielercommunity. Im heutigen Artikel tauchen wir gemeinsam in die Tiefen des Water Renderings hinab und untersuchen, wie sich 3-D-Wellen, Spiegelungen auf der Wasseroberfläche, Schaumkronen sowie Unterwasserkaustiken im Verlauf der Post-Processing-Phase simulieren lassen.

Alexander Rudolph


WebGL - 3D Welten im Browser

Tropische Inseln, traumhafte Sandstrände und glasklares Wasser – nie zuvor wurde das „Paradies auf Erden“ so stimmungsvoll in Szene gesetzt wie in Far Cry, einem der besten Spiele des Jahres 2004. Gemessen am heutigen Stand der Technik wirkt besagtes Spiel mittlerweile zwar ein wenig angestaubt, damals jedoch kam man als Spieler aus dem Staunen nicht mehr heraus. Die grafische Qualität und der Detailreichtum der Spielewelt waren bis dato unerreicht, wobei insbesondere die Wasserdarstellung hoch gelobt und als richtungsweisend angesehen wurde. Dreidimensionale Wellenbewegungen gab es zwar noch nicht zu bestaunen, dafür jedoch in Echtzeit berechnete Spiegelungen auf der Wasserfläche, Refraktionseffekte (Lichtbrechung), Unterwasserkaustiken sowie Brandungswellen.

QuellcodebeispieleDie Listings 1 bis 4, 7 sowie 9 bis 18 finden Sie unter http://entwickler.de/magazin/Entwickler-Magazin-3.14.

Herausforderungen und Schwierigkeiten bei klassischer Wasserdarstellung

In den vorangegangenen Artikeln sind wir bereits mehrfach und ausführlich darauf zu sprechen gekommen, aufgrund welcher Nachteile die klassische Vorgehensweise bei der Echtzeitszenendarstellung, Forward Rendering genannt, mittlerweile nahezu vollständig durch einen grundlegend anderen Ansatz, das Deferred Rendering (Lighting), abgelöst wurde. Bevor wir uns gleich ausführlich damit befassen, inwieweit auch die Wasserdarstellung (Abb. 1, 2 und 3) von dieser neuartigen Technik (die Durchführung der Beleuchtungs- und Post-Processing-Berechnungen erfolgt zeitlich verzögert nach Abschluss der Geometrieverarbeitung) profitieren kann, sollten wir zunächst mit einigen Worten auf die Schwierigkeiten eingehen, die im Rahmen des klassischen Forward Renderings (Geometrieverarbeitung und Beleuchtungsberechnungen erfolgen hierbei zeitgleich) zu bewältigen sind.

Abb. 1: Wasserdarstellung (OpenGL-Framework-Demoprogramm 35)

Abb. 2: Wasser­darstellung

Zu Beginn des neuen Millenniums kamen bei der Wasserdarstellung lediglich blaue, halbtransparente Polygonflächen zum Einsatz, die dann einige Zeit später mithilfe von Texturanimationen optisch aufgewertet wurden. Für die Simulation der physikalischen Eigenschaften des Wassers war die Leistung der damaligen Prozessoren und Grafikkarten jedoch bei Weitem nicht ausreichend. Die besagten Wassereffekte wirkten primitiv und ließen sich ohne viel Aufwand implementieren – es war lediglich erforderlich, im letzten Schritt der Szenendarstellung alle sic...

Entwickler Magazin
Teil 5: 3-D-Wellen, Wasserspiegelungen, Schaumkronen und Kaustiken als Post-Processing-Effekt

Pack die Badehose ein: Water Rendering 2.0

Realistische Echtzeitwassereffekte sorgen seit jeher für den berüchtigten Wow-Effekt in der Spielercommunity. Im heutigen Artikel tauchen wir gemeinsam in die Tiefen des Water Renderings hinab und untersuchen, wie sich 3-D-Wellen, Spiegelungen auf der Wasseroberfläche, Schaumkronen sowie Unterwasserkaustiken im Verlauf der Post-Processing-Phase simulieren lassen.

Alexander Rudolph


WebGL - 3D Welten im Browser

Tropische Inseln, traumhafte Sandstrände und glasklares Wasser – nie zuvor wurde das „Paradies auf Erden“ so stimmungsvoll in Szene gesetzt wie in Far Cry, einem der besten Spiele des Jahres 2004. Gemessen am heutigen Stand der Technik wirkt besagtes Spiel mittlerweile zwar ein wenig angestaubt, damals jedoch kam man als Spieler aus dem Staunen nicht mehr heraus. Die grafische Qualität und der Detailreichtum der Spielewelt waren bis dato unerreicht, wobei insbesondere die Wasserdarstellung hoch gelobt und als richtungsweisend angesehen wurde. Dreidimensionale Wellenbewegungen gab es zwar noch nicht zu bestaunen, dafür jedoch in Echtzeit berechnete Spiegelungen auf der Wasserfläche, Refraktionseffekte (Lichtbrechung), Unterwasserkaustiken sowie Brandungswellen.

QuellcodebeispieleDie Listings 1 bis 4, 7 sowie 9 bis 18 finden Sie unter http://entwickler.de/magazin/Entwickler-Magazin-3.14.

Herausforderungen und Schwierigkeiten bei klassischer Wasserdarstellung

In den vorangegangenen Artikeln sind wir bereits mehrfach und ausführlich darauf zu sprechen gekommen, aufgrund welcher Nachteile die klassische Vorgehensweise bei der Echtzeitszenendarstellung, Forward Rendering genannt, mittlerweile nahezu vollständig durch einen grundlegend anderen Ansatz, das Deferred Rendering (Lighting), abgelöst wurde. Bevor wir uns gleich ausführlich damit befassen, inwieweit auch die Wasserdarstellung (Abb. 1, 2 und 3) von dieser neuartigen Technik (die Durchführung der Beleuchtungs- und Post-Processing-Berechnungen erfolgt zeitlich verzögert nach Abschluss der Geometrieverarbeitung) profitieren kann, sollten wir zunächst mit einigen Worten auf die Schwierigkeiten eingehen, die im Rahmen des klassischen Forward Renderings (Geometrieverarbeitung und Beleuchtungsberechnungen erfolgen hierbei zeitgleich) zu bewältigen sind.

Abb. 1: Wasserdarstellung (OpenGL-Framework-Demoprogramm 35)

Abb. 2: Wasser­darstellung

Zu Beginn des neuen Millenniums kamen bei der Wasserdarstellung lediglich blaue, halbtransparente Polygonflächen zum Einsatz, die dann einige Zeit später mithilfe von Texturanimationen optisch aufgewertet wurden. Für die Simulation der physikalischen Eigenschaften des Wassers war die Leistung der damaligen Prozessoren und Grafikkarten jedoch bei Weitem nicht ausreichend. Die besagten Wassereffekte wirkten primitiv und ließen sich ohne viel Aufwand implementieren – es war lediglich erforderlich, im letzten Schritt der Szenendarstellung alle sic...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang