2015-07-03 26 views
6

Sự cố

Tôi muốn xây dựng một cái nhìn thực tế về trái đất từ ​​quỹ đạo thấp (ở đây ~ 300km) với WebGL. Đó là để nói, trên web, với tất cả những gì nó ngụ ý và hơn nữa, trên điện thoại di động. Đừng dừng đọc ở đây: để làm cho điều này một chút ít khó khăn, người dùng có thể nhìn khắp mọi nơi nhưng không pan, vì vậy quan điểm chỉ quan tâm đến một khu vực rộng 3000km nhỏ. Nhưng khung cảnh đi theo vệ tinh chỉ vài phút sau đó, người dùng quay trở lại nơi trước đó, với sự dịch chuyển nhỏ của vòng quay trái đất, v.v. Vì vậy, những đám mây không thể ở cùng một vị trí.WebGL earth: cách tạo mây

Tôi thực sự chưa thể bao gồm đèn thành phố, auroras, đèn chiếu sáng ... trừ mây. Tôi đã thấy rất nhiều bản demo của những người đam mê và nhà nghiên cứu về thời gian thực, nhưng không ai trong số họ có một lớp đám mây thực tế tốt đẹp. Tuy nhiên tôi chắc chắn rằng tôi là 100 (...) 00 người suy nghĩ về việc này, vì vậy xin vui lòng enlight tôi.

ít câu hỏi được ngụ ý:

  • gì đầu vào để sử dụng cho những đám mây? Dữ liệu khí tượng sống?
  • khả năng hiển thị nào? Một lớp trong suốt với bản đồ trên đám mây, được sửa đổi với trình đổ bóng? Vài lớp trong suốt để có cảm giác hiển thị thể tích? Nhưng làm thế nào để đúc bóng một đến khác: giải pháp duy nhất sau đó sẽ được sử dụng một lưới? Hoặc bóng tối có thể được tính toán và lập bản đồ trên máy chủ mỗi x phút?

vài thông số kỹ thuật

Dưới đây là một số ý tưởng tổng kết những gì tôi chưa thấy bài viết nào, được sắp xếp theo tầm quan trọng:

  1. mây che giấu 60% của trái đất.

  2. các thành phố phân tán đám mây & đèn chiếu sáng và có phân tán rayleigh vào ban đêm.

  3. Ở khoảng cách này hiệu ứng thị sai có thể nhìn thấy và thậm chí khá tuyệt vời với những đám mây nhỏ nhất.

enter image description here

Như xa như tôi đã nhìn thấy, thậm chí đắt realtime tài nguyên trực tuyến khí tượng không hữu ích: họ nhắm mây mưa hay bão tố với sự giúp đỡ của tia UV và IR lightwaves, vì vậy họ không bắt 100% trong số họ và không cho xem 'bình thường' chúng ta đều biết. Hơn nữa, kết cấu đám mây hiếm hoi được bắn vào ánh sáng khả kiến ​​hầu như không phân biệt được mặt đất với các đám mây: đôi khi một bờ biển dài 5000km nằm ở đâu đó. Máy chủ có thể sử dụng những hình ảnh đó để tạo họa tiết tốt hơn.

Khi tôi nhìn vào những hình ảnh đó, tôi sẽ tưởng tượng ra cách kết hợp một vài đám mây đẹp từ một cơ sở dữ liệu chứa các mô hình khác nhau, sau đó biến đổi một chút các lưới bên trong một bóng đổ. Nếu anh ta vẫn còn ở đây 90 phút sau đó khi anh ta quay trở lại, không có vấn đề nếu mô hình không giống nhau nữa. Tuy nhiên, một cơn bão không thể biến mất.

Bạn nghĩ gì về điều này?

+3

Tôi nghĩ rằng nó sẽ là tốt hơn để giải quyết vấn đề đồ họa của bạn một vấn đề tại một thời điểm: làm thế nào để cung cấp một lớp điện toán đám mây (hoặc một số), làm thế nào để tính toán/mô phỏng các đám mây trong các lớp đó, cách tạo bóng từ các kết quả đó và chiếu sáng các đám mây bằng ánh sáng do các thành phố cung cấp (và phản xạ từ các bề mặt biển sáng bóng), cách bao gồm ánh sáng như lớp lót bạc hoặc đám mây. trong bóng đổ, v.v ... có rất nhiều phần khác nhau cho câu hỏi của bạn, nó không phù hợp với định dạng SO. – BeyelerStudios

+0

@BeyelerStudios thực sự tôi đã không chính xác nhiều về định dạng câu trả lời. Những gì tôi cần là một ý tưởng rộng vì vậy tôi và người dùng tương lai có một số manh mối về cách làm cho nó. Tôi chỉnh sửa câu hỏi – Atrahasis

+2

Sau đó, hãy tham gia một khóa học về vận chuyển ánh sáng dựa trên cơ thể, vì bạn yêu cầu nội dung bài giảng trong câu hỏi của bạn. – BeyelerStudios

Trả lời

2

Đối với hiệu ứng như vậy có lẽ chỉ là một cách để làm điều đó đúng và đó là:

  1. bản đồ voxel + Khối lượng render lẽ với Back-Ray-tracer render

    Như vị trí của bạn là cố định vì vậy nó không nên quá khó về yêu cầu bộ nhớ. Bạn cần triển khai cả hai số MIE và Rayleigh tán xạ. Tán xạ có thể được đơn giản hóa rất nhiều và vẫn tìm kiếm tốt thấy

    voxel maps khoảng cách ánh sáng xử lý, bóng và tán tương đối dễ dàng nhưng cần rất nhiều bộ nhớ và khả năng tính toán . Tất cả các kỹ thuật 2D thường chỉ làm việc đau đớn xung quanh những gì Bản đồ voxel 3D thực hiện với một chút nỗ lực. Ví dụ:

  2. thủ tục phát bản đồ đám mây

    Bạn cần điều này đối với từng loại đám mây, do đó bạn có một cái gì đó để render. Có libs/demo/ví dụ ngoài kia xem:

Các vấn đề liên quan