1 pontos por GN⁺ 2024-07-30 | 1 comentários | Compartilhar no WhatsApp

Simulando um mundo na GPU

4 bilhões de anos em 4 minutos

  • Este texto aborda a implementação de uma simulação procedural da Terra escrita em um fragment shader GLSL
  • Simula toda a história de um planeta semelhante à Terra em poucos minutos, com atualização a 60 quadros por segundo

Planeta primordial

  • A história começa há 4,5 bilhões de anos, com uma massa de lava
  • A Terra primitiva era um planeta primordial vermelho e quente devido aos impactos de asteroides
  • A altura do terreno é calculada por meio de um mapa de relevo gerado proceduralmente
  • Crateras de impacto de asteroides de vários tamanhos são geradas, e a altura do terreno é determinada a partir delas
  • As crateras de impacto de asteroides são geradas em uma grade 3D, usando uma função hash para dar irregularidade
  • O mapa de altura gerado ao final recria a aparência da Terra primitiva

Tectônica de placas

  • Um modelo de tectônica de placas é usado para formar cadeias de montanhas, fossas oceânicas e relevo continental
  • As posições iniciais das sementes das placas são geradas aleatoriamente com velocidades iniciais, e as placas crescem com o tempo
  • Quando ocorrem colisões nas fronteiras das placas, a altura do terreno aumenta
  • Essas colisões se espalham para os pixels ao redor por meio de um modelo de erosão térmica

Erosão hídrica

  • O aspecto áspero do relevo natural é determinado principalmente pela formação de bacias fluviais
  • É usado um modelo que consegue simular rios mesmo em mapas de relevo de baixa resolução
  • Cada pixel verifica os 8 pixels ao redor, e a água flui na direção de maior declive
  • A erosão é impulsionada pela lei de stream power
  • A interação entre o fluxo de água e a erosão forma bacias fluviais naturais

Clima global

  • A simulação do sistema climático se baseia em um mapa de pressão média ao nível do mar (MSLP)
  • O mapa de MSLP é influenciado pela posição de terras e oceanos e pela latitude
  • O mapa de MSLP é ajustado para que os padrões climáticos mudem conforme as estações
  • A partir do MSLP, são gerados os ventos e a temperatura
  • Os ventos se movem de alta pressão para baixa pressão, considerando o efeito Coriolis
  • A precipitação se desloca do oceano para o continente por meio do campo vetorial dos ventos

Vida

  • O clima afeta a distribuição da vida no planeta
  • Os padrões de precipitação e as variações de temperatura determinam a taxa de crescimento das plantas
  • Herbívoros e predadores migram de acordo com as mudanças sazonais
  • Essas mudanças dinâmicas são simuladas com um modelo de difusão de Lotka-Volterra

Humanidade

  • Quando termina o prólogo da Terra primitiva, a humanidade coloniza a superfície do planeta
  • Queima combustíveis fósseis e libera carbono na atmosfera
  • Ao longo de centenas de anos, a humanidade consome todos os recursos de combustíveis fósseis e libera 5 trilhões de toneladas de carbono na atmosfera
  • Como resultado, o efeito estufa se intensifica e a temperatura média da Terra sobe cerca de 10 graus
  • Amplas áreas ao redor do equador tornam-se inabitáveis para humanos devido às temperaturas extremas

Resumo do GN⁺

  • Este texto explica em detalhes o processo de implementação de uma simulação procedural da Terra
  • Usa fragment shaders GLSL para simular relevo, tectônica de placas, erosão hídrica, clima, vida e muito mais
  • Ao simular o impacto das atividades humanas no ambiente da Terra, desperta um senso de alerta
  • Projetos recomendados com funcionalidades semelhantes incluem "SimEarth" e "Universe Sandbox"

1 comentários

 
GN⁺ 2024-07-30
Opiniões no Hacker News
  • O conto "I don't know, Timmy, being God is a big responsibility" aborda o tema de simulação de mundos
  • A suposição de que, se uma civilização tiver iluminação noturna, ela queimará todos os combustíveis fósseis e acabará desertificada se baseia apenas na trajetória da nossa civilização
    • Há outras possibilidades, como guerra nuclear, desenvolvimento de fusão limpa, pandemia, invasão de planeta alienígena etc.
    • O aumento de temperatura é tratado como equivalente à aridez, e o efeito de CO2 adicional nas plantas não é considerado
  • Em 1996/1997, desenvolveu um jogo em CD-ROM que simulava movimento de placas tectônicas, temperatura, altitude e precipitação
    • É impressionante o avanço do hardware e do software de computação ao longo de 28 anos
  • O livro de hard sci-fi "Permutation City" tem muita relação com esse tema
    • Ao ler o título deste artigo, teve uma sensação de estar sonhando
  • Na universidade, em uma disciplina de análise de políticas energéticas, fez simulações usando o modelo EPPA desenvolvido pelo MIT, como reduzir em 10 vezes o custo de armazenamento de energia
    • Foi muito divertido, mas não conseguiu encontrar um trabalho parecido
  • Menciona que alguns detalhes foram omitidos na simulação
  • Questiona por que são usados apenas fragment shaders
    • Se também fossem usados vertex shaders para o height map, seria possível ampliar até a superfície
  • O exemplo no Shadertoy roda a 0,6 FPS na página, mas no site do Shadertoy roda normalmente a 60 FPS
  • Às vezes se pergunta como seria viver em um universo simulado
  • A música que acompanhou todo o vídeo parecia familiar, mas não conseguiu identificar a origem
    • Também pode ter sido música gerada por IA