Weltsimulation auf der GPU
4 Milliarden Jahre in 4 Minuten
- Dieser Artikel behandelt die Implementierung einer prozeduralen Erdsimulation, die als GLSL-Fragment-Shader geschrieben wurde
- Die gesamte Geschichte eines erdähnlichen Planeten wird in wenigen Minuten simuliert und mit 60 Bildern pro Sekunde aktualisiert
Urplanet
- Die Geschichte beginnt vor 4,5 Milliarden Jahren als Klumpen aus Lava
- Die frühe Erde war aufgrund von Asteroideneinschlägen ein roter und heißer Urplanet
- Die Geländehöhe wird mithilfe einer prozedural erzeugten Terrain-Map berechnet
- Es werden Einschlagskrater von Asteroiden in verschiedenen Größen erzeugt, aus denen die Geländehöhe bestimmt wird
- Asteroidenkrater werden in einem 3D-Raster erzeugt und mit Hash-Funktionen unregelmäßig gemacht
- Die schließlich erzeugte Heightmap stellt das Aussehen der frühen Erde nach
Plattentektonik
- Zur Bildung von Gebirgen, Tiefseegräben und kontinentalen Landformen wird ein Modell der Plattentektonik verwendet
- Seed-Positionen der Platten werden mit Anfangsgeschwindigkeiten zufällig erzeugt, und die Platten wachsen im Lauf der Zeit
- Kommt es an den Plattengrenzen zu Kollisionen, steigt die Geländehöhe an
- Diese Kollisionen breiten sich mithilfe eines thermischen Erosionsmodells auf umliegende Pixel aus
Hydraulische Erosion
- Das raue Aussehen natürlicher Landschaften wird vor allem durch die Bildung von Flusseinzugsgebieten bestimmt
- Es wird ein Modell verwendet, mit dem sich Flüsse auch auf niedrig aufgelösten Terrain-Maps simulieren lassen
- Jedes Pixel prüft die acht benachbarten Pixel, und Wasser fließt in Richtung des stärksten Gefälles
- Die Erosion wird durch das Stream-Power-Gesetz angetrieben
- Durch das Zusammenspiel von Wasserfluss und Erosion entstehen natürliche Flusseinzugsgebiete
Globales Klima
- Die Simulation des Klimasystems basiert auf einer Karte des mittleren Luftdrucks auf Meereshöhe (MSLP)
- Die MSLP-Karte wird von der Lage von Land und Ozeanen sowie vom Breitengrad beeinflusst
- Die MSLP-Karte wird so angepasst, dass sich Klimamuster mit den Jahreszeiten verändern
- Auf Basis von MSLP werden Wind und Temperatur erzeugt
- Wind bewegt sich von Hochdruck- zu Tiefdruckgebieten, wobei der Coriolis-Effekt berücksichtigt wird
- Niederschlag wird über das Windvektorfeld vom Ozean auf das Land transportiert
Leben
- Das Klima beeinflusst die Verteilung des Lebens auf dem Planeten
- Niederschlagsmuster und Temperaturänderungen bestimmen die Wachstumsrate von Pflanzen
- Pflanzenfresser und Raubtiere wandern mit den Jahreszeiten
- Diese dynamischen Veränderungen werden mit einem Lotka-Volterra-Diffusionsmodell simuliert
Die Menschheit
- Nach dem Auftakt der frühen Erde kolonisiert die Menschheit die Oberfläche des Planeten
- Sie verbrennt fossile Brennstoffe und setzt Kohlenstoff in die Atmosphäre frei
- Über mehrere Jahrhunderte verbraucht die Menschheit sämtliche Ressourcen an fossilen Brennstoffen und setzt 5 Billionen Tonnen Kohlenstoff in die Atmosphäre frei
- Dadurch verstärkt sich der Treibhauseffekt, und die globale Durchschnittstemperatur der Erde steigt um etwa 10 Grad
- Große Regionen rund um den Äquator werden wegen extremer Temperaturen unbewohnbar
Zusammenfassung von GN⁺
- Dieser Artikel erläutert den Implementierungsprozess einer prozeduralen Erdsimulation im Detail
- Mit GLSL-Fragment-Shadern werden Terrain, Plattentektonik, hydraulische Erosion, Klima, Leben und mehr simuliert
- Durch die Simulation der Auswirkungen menschlicher Aktivitäten auf die Umwelt der Erde wird ein Warnsignal gesetzt
- Als ähnliche Projekte werden "SimEarth" und "Universe Sandbox" empfohlen
1 Kommentare
Hacker-News-Kommentare