# 4분 만에 40억 년 – GPU로 세계 시뮬레이션

> Clean Markdown view of GeekNews topic #16094. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16094](https://news.hada.io/topic?id=16094)
- GeekNews Markdown: [https://news.hada.io/topic/16094.md](https://news.hada.io/topic/16094.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-07-30T20:34:23+09:00
- Updated: 2024-07-30T20:34:23+09:00
- Original source: [davidar.io](https://davidar.io/post/sim-glsl)
- Points: 1
- Comments: 1

## Topic Body

### GPU에서 세계 시뮬레이션
#### 40억 년을 4분 만에
- 이 글은 GLSL 프래그먼트 셰이더로 작성된 절차적 지구 시뮬레이션 구현에 대해 다룸
- 지구와 유사한 행성의 전체 역사를 몇 분 만에 시뮬레이션하며, 초당 60프레임으로 업데이트됨

#### 원시 행성
- 45억 년 전, 용암 덩어리로 시작된 이야기
- 초기 지구는 소행성 충돌로 인해 붉고 뜨거운 원시 행성이었음
- 절차적으로 생성된 지형 맵을 통해 지형의 높이를 계산함
- 다양한 크기의 소행성 충돌구를 생성하고, 이를 통해 지형의 높이를 결정함
- 소행성 충돌구는 3D 그리드에서 생성되며, 해시 함수를 사용해 불규칙성을 부여함
- 최종적으로 생성된 높이 맵은 초기 지구의 모습을 재현함

#### 판 구조론
- 산맥, 해구, 대륙 지형을 형성하기 위해 판 구조론 모델을 사용함
- 초기 속도로 판의 시드 위치를 무작위로 생성하고, 시간이 지남에 따라 판이 성장함
- 판의 경계에서 충돌이 발생하면 지형의 높이가 증가함
- 이 충돌은 열 침식 모델을 통해 주변 픽셀로 확산됨

#### 수리 침식
- 자연 지형의 거친 모습은 주로 강 유역의 형성에 의해 결정됨
- 저해상도 지형 맵에서도 강을 시뮬레이션할 수 있는 모델을 사용함
- 각 픽셀은 주변 8개의 픽셀을 검사하여 가장 큰 경사 방향으로 물이 흐름
- 침식은 스트림 파워 법칙에 의해 구동됨
- 물의 흐름과 침식의 상호작용으로 자연스러운 강 유역이 형성됨

#### 전 지구 기후
- 기후 시스템 시뮬레이션은 평균 해수면 기압(MSLP) 맵을 기반으로 함
- MSLP 맵은 육지와 해양의 위치 및 위도의 영향을 받음
- 계절 변화에 따라 기후 패턴이 변하도록 MSLP 맵을 조정함
- MSLP를 기반으로 바람과 온도를 생성함
- 바람은 고기압에서 저기압으로 이동하며, 코리올리 효과를 고려함
- 강수량은 바람 벡터 필드를 통해 해양에서 육지로 이동함

#### 생명
- 기후는 행성의 생명 분포에 영향을 미침
- 강수 패턴과 온도 변화는 식물 성장 속도를 결정함
- 계절 변화에 따라 초식동물과 포식동물이 이동함
- Lotka-Volterra 확산 모델을 사용해 이러한 동적 변화를 시뮬레이션함

#### 인류
- 초기 지구의 서막이 끝나고, 인류가 행성 표면을 식민지화함
- 화석 연료를 태우며 대기 중에 탄소를 방출함
- 수백 년 동안 인류는 모든 화석 연료 자원을 소모하고, 대기 중에 5조 톤의 탄소를 방출함
- 이로 인해 온실 효과가 강화되고, 지구 평균 온도가 약 10도 상승함
- 적도 주변의 넓은 지역이 극한 온도로 인해 사람이 살 수 없게 됨

### GN⁺의 정리
- 이 글은 절차적 지구 시뮬레이션의 구현 과정을 상세히 설명함
- GLSL 프래그먼트 셰이더를 사용해 지형, 판 구조론, 수리 침식, 기후, 생명 등을 시뮬레이션함
- 인류의 활동이 지구 환경에 미치는 영향을 시뮬레이션하여 경각심을 일깨움
- 유사한 기능을 가진 프로젝트로는 "SimEarth"와 "Universe Sandbox"가 추천됨

## Comments



### Comment 27695

- Author: neo
- Created: 2024-07-30T20:34:24+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41104721) 
- "I don't know, Timmy, being God is a big responsibility"라는 단편 소설이 세계 시뮬레이션 주제를 다루고 있음
- 문명에 야간 조명이 있으면 화석 연료를 모두 태워 사막화된다는 가정은 우리의 문명 궤적에만 기반한 것임
  - 핵전쟁, 청정 융합 개발, 전염병, 외계 행성 침략 등 다른 가능성도 있음
  - 온도 상승이 건조함과 동일시되고 추가 CO2가 식물에 미치는 영향이 고려되지 않음
- 1996/1997년에 판 구조 이동, 온도, 고도, 강수량을 시뮬레이션하는 CD-ROM 게임을 개발했음
  - 28년 동안 컴퓨팅 하드웨어와 소프트웨어의 발전이 놀라움
- "Permutation City"라는 하드 SF 책이 이 주제와 관련이 깊음
  - 이 글의 제목을 읽을 때 꿈을 꾸는 듯한 느낌을 받았음
- 대학에서 에너지 정책 분석 수업에서 MIT에서 개발한 EPPA 모델을 사용해 에너지 저장 비용을 10배 줄이는 등의 시뮬레이션을 했음
  - 매우 재미있었지만 직장에서 비슷한 일을 찾지 못했음
- 시뮬레이션에서 일부 세부 사항이 생략되었음을 언급함
- 왜 프래그먼트 셰이더만 사용하는지 의문을 가짐
  - 높이 맵을 위한 버텍스 셰이더도 사용하면 표면까지 확대할 수 있음
- Shadertoy 예제가 페이지에서 0.6 FPS로 재생되지만 Shadertoy 웹사이트에서는 60 FPS로 잘 재생됨
- 가끔 시뮬레이션된 우주에서 사는 것이 어떤 느낌일지 궁금해함
- 전체 비디오에 동반된 음악이 익숙했지만 출처를 알 수 없었음
  - AI가 생성한 음악일 가능성도 있음
