Das Jahr ohne Sommer und die Rheinromantik
Ich beschäftige mich gerade mit der ästhetischen Sprache der Rheinromantik. Insbesondere die Bilder von William Turner finde ich besonders interessant, weil bei ihnen die besondere Atmosphäre deutlich wird, die das Jahr ohne Sommer, bedingt durch den Vulkanausbruch des Tambora in Indonesien um 1815, auszeichnete.
Ich habe dazu weiter unten schon mal gebloggt, habe aber jetzt nochmal eine neue Simulationsmethode ausprobiert. Konkret interessiert mich, welche Auswirkungen die Staubteilchen auf die Lichtverhältnisse haben. Dieses Mal habe ich keine generische Landschaft verwendet, sondern die echte Topografie des Rheintals um Boppard (Google Maps) rudimentär in 3D nachgebaut. Auch von Turner gibt es ein Aquarell mit dramatischen, fast hyperrealistischen Himmel, das eine Szene vor dem Stadttor am Rheinufer darstellt. Eine Digitalisierung findet sich hier.
Um ein Gespür für die Lichtverhältnisse zu bekommen, habe ich Bebauung und sonstige Wetterphänomene (Wolken etc.) weggelassen.
So sieht die Szene aus, wenn sich keinerlei Staubteilchen in der Atmosphäre befinden:
Und so sieht die gleiche Szene aus, wenn sich annähernd viele Staubteilchen in der Luft befinden, wie etwa um 1816:
Für diese Simulation habe ich testweise nicht Cycles von Blender benutzt, sondern den Open Source Renderer LuxCore, der auch ein Blender-Plugin besitzt.[1] Das Terrain wurde mittels einer Displacement-Map erstellt, die aus echten Satellitendaten generiert wurde. Früher benutzte ich für diese Daten die Plattform ›terrain.party‹, die leider nicht mehr funktioniert. Als Ersatz hat sich anscheinend https://heightmap.skydark.pl/ etabliert. Bisher bin ich sehr zufrieden, was die Daten angeht.
Zu Simulation der Staubteilchen:
- Environment Turbidity:
20
- Volume Scatter:
Blender Original Randomness
inVolume
.
[1]: LuxCore funktioniert aktuell nicht mit der neuesten Version von Blender (auch die Beta-Version des Renderers habe ich nicht mit Blender >3.0 zum Laufen gebracht. Mit Blender 2.93 LTS funktioniert das Plugin aber wunderbar.
Reading List
- Display of the earth taking into account atmospheric scattering (Nishita et al.): https://dl.acm.org/doi/10.1145/166117.166140 (Open Access)
- Simulating the Colors of the Sky: https://www.scratchapixel.com/lessons/procedural-generation-virtual-worlds/simulating-sky/simulating-colors-of-the-sky.html (CC-BY-SA)
Update (12-08-2023)
Mir hat das Setup keine Ruhe gelassen, weil sich zwar in den obigen Rendern recht deutlich die Farbverschiebung zeigt, aber die tatsächlichen ›atmosphärischen‹ Effekte (also das ›Scattering‹ in den Aerosol- und Staubpartikeln) außen vor gelassen werden. Zudem fällt auf, dass die Topografie der Landschaft zwar ›stimmig‹ ist, aber zur Beurteilung dann doch etwas Bebauung notwendig scheint. Ich habe deswegen die Szene am historischen Sandtor, die William Turner in seinem Aquarell festhielt, nochmals rudimentär (!) in 3D nachgebaut.
Das Bild, wie es Turner malte:
Bildquelle: Wikimedia Commons (Lizenz: Gemeinfrei), siehe auch Yale Center for British Art
Mein rudimentärer Nachbau in 3D:
Mir ist klar, dass die Perspektiven nicht genau deckungsgleich sind, aber die ungefähre Szenerie wird einigermaßen eingefangen. (Auch die Topografie ist im Moment einfach per Random-Noise mit dem ANT Landscape-Plugin geschaffen, muss also noch auf die originale Landschaft vor Ort angepasst werden.)
Mit diesem Setup ist es nun möglich, mit verschiedenen Wetterphänomenen und Sonnenständen zu experimentieren. Als ersten Versuch, auch um etwas Gespür für die Szene zu bekommen, habe ich eine dramatische Wolkendecke eingezogen, die Sonnenstrahlen in ›God Rays‹ bricht
Als Render-Engine habe ich dieses mal wieder Cycles von Blender verwendet. Aber auch hier ist noch viel Raum für Versuche. Die momentane Atmosphäre ist noch ›ad hoc‹ gebaut, d.h. sie berücksichtigt noch nicht die Begebenheiten um 1816. Nachdem ich für die Himmelssimulation die Nishita-Skymap
verwendet habe, ist mein nächster Schritt, das originale Paper von Nishita et al. mit der ermittelten Partikelzusammensetzung um 1816 in Einklang zu bringen.
Des Weiteren stimmt der Sonnenstand nicht: In Turners Original fällt die Sonne in einem Winkel von etwa 45° von links oben ein (erkennbar an den ›God Rays‹ im Himmel und am Schattenfall am Gebäude im Vordergrund links). Gleichzeitig ist die Lichtstimmung nochmals deutlich anders: mehr Blauverschiebung und mehr Haze am Boden ist also notwendig.
Aktuelle Einstellungen Skymap
- sun elevation:
6°
(todo: auf ca. 45° erhöhen) - sun rotation
-82,5°
(todo: mit tatsächlicher geografischer Position abgleichen) - sun intensity:
0,3
(momentan ad-hoc geschätzt) - altitude:
0m
(entspricht noch nicht ganz den Begebenheiten: Boppard liegt auf etwa 82 m ü. NHN, sollte aber keine größeren Veränderungen hervorrufen) - air:
1.875
(momentan ad-hoc geschätzt) - dust:
2.0
(momentan ad-hoc geschätzt) - ozone:
4.625
(momentan ad-hoc geschätzt)
Für die Wolken habe ich hier ein wirklich zu empfehlendes Tutorial gefunden.
Update (13-08-2023)
Habe angefangen, den Haze auch am Boden einzusetzen, was definitiv den visuellen Eindruck näher an das Aquarell von Turner heranführt. Dafür habe ich einen Cube mit Volumetric Scattering
und einer Noise-Textur
über die ganze Szene gepackt:
Gleichwohl entsteht so zu viel Nebel/Dunst im Vordergrund, daher habe ich den Cube etwas skaliert und nach hinten geschoben. (Von Vorteil ist so auch, dass die Renderzeiten etwas abnehmen.) Aus Vogelperspektive sieht die Szene so im Editor aus:
Wird die Szene mit diesem Setup gerendert, dann entsteht langsam der Eindruck, wie er auch bei dem Original vorherrscht.
Sonstige Änderungen an der Szene
- Sonnenstand korrigiert, Sonne trifft jetzt in einem Winkel von
26,7°
ein, was auch einigermaßen glaubwürdige ›God Rays‹ produziert. - Remesh des Stadttors: Habe die Skalierung des Turms in der Mitte angepasst, um näher an die Proportionen des Originals zu kommen. Des Weiteren habe ich die Geometrie durch einen Remesh-Modifier neu generieren lassen, um einige Verwitterungen zu sculpten.
- Arbeite jetzt mit Cycles
Fast GI Approximation
-Modus, um den Viewport einigermaßen bedienbar zu halten. Renderzeit für ein 1920 x 1080px JPG sind etwa 2 Minuten auf einer RTX 3080ti. - Einstellungen an der
Sky Texture
(im Moment nach wie vor ad hoc):- Sun Intensity:
0,900
- Sun Elevatio:
26,7°
- Sun Rotation:
-91,7°
- Altitude:
82m
(siehe oben) - Air:
3,514
- Dust:
0,0
(Interessante Entwicklung: Diese Funktion wird durch den Scatter Cube anscheinend nicht mehr benötigt.) - Ozone:
10,00
(um zumindest etwas Blauverschiebung zu haben)
- Sun Intensity:
- Angefangen, die Gebäude zu texturieren
Update (15-08-2023)
Habe mir die Mühe gemacht, und die Szene rudimentär texturiert. Das Ufer und der Ruinenturm haben zusätzlich eine displacement
-Map bekommen und das Wasser erhielt auch eine Überarbeitung. Es setzt sich jetzt aus einer Musgrave
-Textur und einem Bump
-Node zusammen, die in den Normal
-Slot des Principled-BSDF
-Shaders geleitet wird. Nach wie vor sehr primitiv, aber wirklungsvoll.
Ich bin nach wie vor mit der Szene unzufrieden, aber es geht voran. Habe, um den Vordergrund auch mit einem leichten Haze zu versehen, einen dritten Volume-Scatter
-Cube in die Szene integriert, der zwischen Kamera und Mittelgrund ein subtiles Scattering realisiert.