1 puntos por GN⁺ 2024-07-30 | 1 comentarios | Compartir por WhatsApp

Simulación de un mundo en la GPU

4 mil millones de años en 4 minutos

  • Este artículo trata sobre la implementación de una simulación procedural de la Tierra escrita con un fragment shader en GLSL
  • Simula en unos minutos toda la historia de un planeta similar a la Tierra, actualizándose a 60 cuadros por segundo

Planeta primitivo

  • La historia comienza hace 4.5 mil millones de años, con una masa de lava
  • La Tierra temprana era un planeta primitivo rojo y caliente debido a los impactos de asteroides
  • La altura del terreno se calcula mediante un mapa de relieve generado proceduralmente
  • Se generan cráteres de impacto de asteroides de distintos tamaños, y con ellos se determina la elevación del terreno
  • Los cráteres de asteroides se generan en una cuadrícula 3D y se usa una función hash para darles irregularidad
  • El mapa de alturas generado al final recrea el aspecto de la Tierra primitiva

Tectónica de placas

  • Se usa un modelo de tectónica de placas para formar cordilleras, fosas oceánicas y relieve continental
  • Las posiciones semilla de las placas se generan aleatoriamente con velocidades iniciales, y las placas crecen con el tiempo
  • Cuando ocurren colisiones en los límites de placas, aumenta la elevación del terreno
  • Estas colisiones se difunden a los píxeles cercanos mediante un modelo de erosión térmica

Erosión hídrica

  • El aspecto accidentado del relieve natural está determinado en gran parte por la formación de cuencas fluviales
  • Se usa un modelo capaz de simular ríos incluso en mapas de relieve de baja resolución
  • Cada píxel revisa los 8 píxeles vecinos y el agua fluye en la dirección de la pendiente más pronunciada
  • La erosión está impulsada por la ley de potencia del flujo
  • La interacción entre el flujo de agua y la erosión forma cuencas fluviales naturales

Clima global

  • La simulación del sistema climático se basa en un mapa de presión media al nivel del mar (MSLP)
  • El mapa MSLP recibe la influencia de la ubicación de la tierra y los océanos, así como de la latitud
  • El mapa MSLP se ajusta para que los patrones climáticos cambien con las variaciones estacionales
  • A partir de MSLP se generan el viento y la temperatura
  • El viento se desplaza de alta presión a baja presión, considerando el efecto Coriolis
  • La precipitación se desplaza del océano hacia la tierra a través del campo vectorial del viento

Vida

  • El clima influye en la distribución de la vida en el planeta
  • Los patrones de precipitación y los cambios de temperatura determinan la velocidad de crecimiento de las plantas
  • Herbívoros y depredadores migran según los cambios estacionales
  • Se usa un modelo de difusión de Lotka-Volterra para simular estas dinámicas

Humanidad

  • Tras el prólogo de la Tierra temprana, la humanidad coloniza la superficie del planeta
  • Quema combustibles fósiles y libera carbono a la atmósfera
  • A lo largo de varios siglos, la humanidad consume todos los recursos de combustibles fósiles y libera 5 billones de toneladas de carbono a la atmósfera
  • Como resultado, se intensifica el efecto invernadero y la temperatura media global de la Tierra aumenta unos 10 grados
  • Amplias zonas alrededor del ecuador se vuelven inhabitables para los humanos debido a temperaturas extremas

Resumen de GN⁺

  • Este artículo explica en detalle el proceso de implementación de una simulación procedural de la Tierra
  • Usa fragment shaders en GLSL para simular relieve, tectónica de placas, erosión hídrica, clima, vida y más
  • Simula el impacto de la actividad humana sobre el entorno terrestre para generar conciencia
  • Como proyectos con funciones similares, se recomiendan "SimEarth" y "Universe Sandbox"

1 comentarios

 
GN⁺ 2024-07-30
Opiniones de Hacker News
  • El cuento corto "I don't know, Timmy, being God is a big responsibility" trata el tema de la simulación de mundos
  • La suposición de que si una civilización tiene iluminación nocturna terminará quemando todos los combustibles fósiles y desertificándose se basa solo en la trayectoria de nuestra civilización
    • También hay otras posibilidades, como una guerra nuclear, el desarrollo de fusión limpia, una pandemia o una invasión de un planeta alienígena
    • El aumento de la temperatura se equipara con la aridez y no se considera el efecto del CO2 adicional en las plantas
  • En 1996/1997 desarrollé un juego en CD-ROM que simulaba el movimiento de placas tectónicas, la temperatura, la altitud y las precipitaciones
    • Es asombroso el avance del hardware y el software de cómputo en 28 años
  • Un libro de ciencia ficción dura llamado "Permutation City" está muy relacionado con este tema
    • Al leer el título de este artículo sentí como si estuviera soñando
  • En la universidad, en una clase de análisis de políticas energéticas, usé el modelo EPPA desarrollado por MIT para hacer simulaciones como reducir 10 veces el costo del almacenamiento de energía
    • Fue muy divertido, pero no pude encontrar un trabajo parecido
  • Se menciona que se omitieron algunos detalles en la simulación
  • Se pregunta por qué solo se usan fragment shaders
    • Si también se usara un vertex shader para el height map, se podría hacer zoom hasta la superficie
  • El ejemplo de Shadertoy se reproduce a 0.6 FPS en la página, pero en el sitio web de Shadertoy se reproduce bien a 60 FPS
  • A veces se pregunta cómo se sentiría vivir en un universo simulado
  • La música que acompañó todo el video le resultó familiar, pero no pudo identificar de dónde era
    • También podría ser música generada por IA