Mô phỏng thế giới trên GPU
4 tỷ năm chỉ trong 4 phút
- Bài viết này nói về việc triển khai một mô phỏng Trái Đất thủ tục được viết bằng fragment shader GLSL
- Mô phỏng toàn bộ lịch sử của một hành tinh tương tự Trái Đất chỉ trong vài phút, cập nhật ở tốc độ 60 khung hình/giây
Hành tinh nguyên thủy
- Câu chuyện bắt đầu từ 4,5 tỷ năm trước, khi hành tinh là một khối dung nham
- Trái Đất thời kỳ đầu là một hành tinh nguyên thủy đỏ rực và nóng bỏng do các va chạm tiểu hành tinh
- Tính toán độ cao địa hình thông qua bản đồ địa hình được tạo theo phương pháp thủ tục
- Tạo các hố va chạm tiểu hành tinh với nhiều kích thước khác nhau, từ đó xác định độ cao địa hình
- Các hố va chạm được tạo trong lưới 3D và dùng hàm băm để tạo sự bất quy tắc
- Bản đồ độ cao được tạo ra cuối cùng tái hiện diện mạo của Trái Đất thuở ban đầu
Kiến tạo mảng
- Sử dụng mô hình kiến tạo mảng để hình thành núi, rãnh sâu và địa hình lục địa
- Tạo ngẫu nhiên vị trí seed của các mảng với vận tốc ban đầu, rồi các mảng phát triển theo thời gian
- Khi va chạm xảy ra ở ranh giới mảng, độ cao địa hình tăng lên
- Va chạm này lan sang các pixel xung quanh thông qua mô hình xói mòn nhiệt
Xói mòn thủy lực
- Vẻ gồ ghề của địa hình tự nhiên chủ yếu được quyết định bởi sự hình thành các lưu vực sông
- Sử dụng một mô hình có thể mô phỏng sông ngay cả trên bản đồ địa hình độ phân giải thấp
- Mỗi pixel kiểm tra 8 pixel xung quanh để nước chảy theo hướng dốc lớn nhất
- Xói mòn được thúc đẩy bởi định luật stream power
- Tương tác giữa dòng nước và xói mòn tạo nên các lưu vực sông tự nhiên
Khí hậu toàn cầu
- Mô phỏng hệ thống khí hậu dựa trên bản đồ áp suất mực nước biển trung bình (MSLP)
- Bản đồ MSLP chịu ảnh hưởng bởi vị trí đất liền, đại dương và vĩ độ
- Điều chỉnh bản đồ MSLP để các kiểu khí hậu thay đổi theo mùa
- Tạo gió và nhiệt độ dựa trên MSLP
- Gió di chuyển từ vùng áp cao sang vùng áp thấp, có xét đến hiệu ứng Coriolis
- Lượng mưa di chuyển từ đại dương vào đất liền thông qua trường vector gió
Sự sống
- Khí hậu ảnh hưởng đến phân bố sự sống trên hành tinh
- Mô hình mưa và biến đổi nhiệt độ quyết định tốc độ sinh trưởng của thực vật
- Động vật ăn cỏ và động vật săn mồi di chuyển theo biến đổi theo mùa
- Sử dụng mô hình khuếch tán Lotka-Volterra để mô phỏng những thay đổi động này
Loài người
- Khi phần mở đầu của Trái Đất sơ khai kết thúc, loài người bắt đầu thuộc địa hóa bề mặt hành tinh
- Đốt nhiên liệu hóa thạch và thải carbon vào khí quyển
- Trong vài trăm năm, loài người tiêu thụ toàn bộ tài nguyên nhiên liệu hóa thạch và thải 5 nghìn tỷ tấn carbon vào khí quyển
- Điều này làm hiệu ứng nhà kính mạnh lên và nhiệt độ trung bình của Trái Đất tăng khoảng 10 độ
- Những vùng rộng lớn quanh xích đạo trở nên không thể sinh sống do nhiệt độ cực đoan
Tổng hợp của GN⁺
- Bài viết này giải thích chi tiết quá trình triển khai mô phỏng Trái Đất thủ tục
- Sử dụng fragment shader GLSL để mô phỏng địa hình, kiến tạo mảng, xói mòn thủy lực, khí hậu, sự sống và hơn thế nữa
- Mô phỏng tác động của hoạt động con người lên môi trường Trái Đất để gióng lên hồi chuông cảnh tỉnh
- Các dự án có chức năng tương tự được khuyến nghị gồm có "SimEarth" và "Universe Sandbox"
1 bình luận
Ý kiến trên Hacker News