1 points par GN⁺ 2024-07-30 | 1 commentaires | Partager sur WhatsApp

Simuler le monde sur GPU

4 milliards d’années en 4 minutes

  • Cet article traite de l’implémentation d’une simulation procédurale de la Terre écrite avec un fragment shader GLSL
  • Il simule en quelques minutes toute l’histoire d’une planète semblable à la Terre, avec une mise à jour à 60 images par seconde

Planète primitive

  • L’histoire commence il y a 4,5 milliards d’années, à l’état de masse de lave
  • La Terre primitive était une planète rouge et brûlante, façonnée par les collisions d’astéroïdes
  • L’altitude du relief est calculée à partir d’une carte de terrain générée de manière procédurale
  • Des cratères d’impact d’astéroïdes de tailles variées sont générés, puis utilisés pour déterminer l’altitude du relief
  • Les cratères d’astéroïdes sont générés sur une grille 3D, avec une fonction de hachage pour leur donner de l’irrégularité
  • La heightmap obtenue reproduit finalement l’aspect de la Terre primitive

Tectonique des plaques

  • Un modèle de tectonique des plaques est utilisé pour former chaînes de montagnes, fosses océaniques et reliefs continentaux
  • Les positions initiales des plaques sont générées aléatoirement avec une vitesse de départ, puis les plaques grandissent au fil du temps
  • Lorsque des collisions se produisent aux frontières des plaques, l’altitude du relief augmente
  • Ces collisions se diffusent vers les pixels voisins via un modèle d’érosion thermique

Érosion hydraulique

  • L’aspect accidenté des reliefs naturels est principalement déterminé par la formation des bassins fluviaux
  • Un modèle est utilisé pour simuler les rivières même sur une carte de terrain en basse résolution
  • Chaque pixel examine les 8 pixels voisins et l’eau s’écoule dans la direction de la pente la plus forte
  • L’érosion est pilotée par la loi de stream power
  • L’interaction entre l’écoulement de l’eau et l’érosion forme des bassins fluviaux naturels

Climat global

  • La simulation du système climatique repose sur une carte de pression atmosphérique réduite au niveau de la mer (MSLP)
  • La carte MSLP est influencée par la position des terres, des océans et par la latitude
  • La carte MSLP est ajustée afin que les régimes climatiques varient selon les saisons
  • Les vents et la température sont générés à partir de la MSLP
  • Les vents se déplacent des hautes pressions vers les basses pressions, en tenant compte de l’effet de Coriolis
  • Les précipitations se déplacent de l’océan vers les terres à travers le champ de vecteurs de vent

Vie

  • Le climat influence la répartition de la vie sur la planète
  • Les régimes de précipitations et les variations de température déterminent la vitesse de croissance des plantes
  • Les herbivores et les prédateurs se déplacent au rythme des changements saisonniers
  • Le modèle de diffusion de Lotka-Volterra est utilisé pour simuler ces variations dynamiques

Humanité

  • Une fois le prologue de la Terre primitive terminé, l’humanité colonise la surface de la planète
  • Elle brûle des combustibles fossiles et rejette du carbone dans l’atmosphère
  • En quelques centaines d’années, l’humanité épuise toutes les ressources en combustibles fossiles et libère 5 000 milliards de tonnes de carbone dans l’atmosphère
  • Cela renforce l’effet de serre et augmente la température moyenne terrestre d’environ 10 degrés
  • De vastes zones autour de l’équateur deviennent inhabitables pour l’être humain en raison de températures extrêmes

Résumé de GN⁺

  • Cet article décrit en détail le processus d’implémentation d’une simulation procédurale de la Terre
  • Il utilise des fragment shaders GLSL pour simuler le relief, la tectonique des plaques, l’érosion hydraulique, le climat, la vie, etc.
  • En simulant l’impact des activités humaines sur l’environnement terrestre, il alerte sur les risques encourus
  • Parmi les projets aux fonctionnalités similaires recommandés figurent "SimEarth" et "Universe Sandbox"

1 commentaires

 
GN⁺ 2024-07-30
Avis Hacker News
  • La nouvelle « I don't know, Timmy, being God is a big responsibility » traite du thème de la simulation du monde
  • L'hypothèse selon laquelle, si une civilisation dispose d'un éclairage nocturne, elle finira par brûler tous ses combustibles fossiles et se désertifier repose uniquement sur la trajectoire de notre propre civilisation
    • D'autres possibilités existent aussi, comme une guerre nucléaire, le développement d'une fusion propre, une pandémie ou une invasion par une planète extraterrestre
    • La hausse des températures est assimilée à l'aridité, et l'effet d'un surplus de CO2 sur les plantes n'est pas pris en compte
  • En 1996/1997, quelqu'un a développé un jeu sur CD-ROM qui simulait le déplacement des plaques tectoniques, la température, l'altitude et les précipitations
    • Les progrès du matériel et des logiciels informatiques en 28 ans sont stupéfiants
  • Un livre de hard SF intitulé « Permutation City » est étroitement lié à ce sujet
    • La lecture du titre de cet article a donné l'impression de rêver
  • À l'université, dans un cours d'analyse des politiques énergétiques, des simulations ont été effectuées avec le modèle EPPA développé au MIT, par exemple en réduisant par 10 le coût du stockage de l'énergie
    • C'était très amusant, mais il n'a pas été possible de trouver un travail similaire ensuite
  • Il est mentionné que certains détails ont été omis dans la simulation
  • Quelqu'un se demande pourquoi seuls des fragment shaders sont utilisés
    • En utilisant aussi un vertex shader pour la height map, on pourrait zoomer jusqu'à la surface
  • L'exemple Shadertoy se lance à 0,6 FPS sur la page, mais fonctionne correctement à 60 FPS sur le site web de Shadertoy
  • Certains se demandent parfois ce que cela ferait de vivre dans un univers simulé
  • La musique qui accompagne toute la vidéo semblait familière, mais sa source n'a pas pu être identifiée
    • Il est aussi possible qu'elle ait été générée par une IA