/ / WebGL Earth: як зробити хмари - обробка зображень, glsl, webgl, шейдер, маніпуляція зображеннями

WebGL earth: як зробити хмари - обробка зображень, glsl, webgl, шейдер, маніпуляції зображень

Я хотів би створити реалістичний погляд на цеЗемля з низької орбіти (тут ~ 300 км) з WebGL. Тобто, в Інтернеті, з усім, що він має на увазі, а ще більше - на мобільному. Не зупиняйтесь на читанні тут: щоб зробити це трохи менш складно, користувач може дивитись скрізь, але не панірувати, тому вигляд стосується лише невеликої площі 3000 км. Але огляд слідує за супутником через кілька хвилин, користувач повертається туди, де був раніше, з невеликим зрушенням обертання землі тощо. Отже, хмари не можуть бути на одному місці постійно.

Я фактично ще не міг включити містовогники, полярні сяйви, блискавки ... крім хмар. Я бачив чимало демонстрацій реального часу, що надають пристрасним і дослідникам, але жодна з них не мала приємного, реалістичного хмарного шару. Однак я впевнений, що я 100 (...) 00-а людина, яка думає про це, тому, будь ласка, порадуйте мене.

Мається на увазі мало питань:

  • який вхід використовувати для хмар? Метеорологічні живі дані?
  • які можливості надання? Прозорий шар із картою хмари, модифікований шейдерами? Трохи прозорих шарів, щоб отримати відчуття об'ємного відображення? Але як кидати тіні одна до одної: єдиним рішенням буде тоді використання сітки? Або тіні можна процедурно обчислити та відобразити на сервері кожні х хвилин?

Мало технічних характеристик

Ось кілька ідей, що підсумовують те, чого я ще не бачив, відсортованого за важливістю:

  1. хмари приховують 60% землі.

  2. хмари розкидають міста та блискавки ", а вночі розсіюється райле.

  3. На цій відстані видно паралаксний ефект і навіть досить дивовижний при найменших хмарах.

введіть опис зображення тут

Наскільки я бачив, навіть дорогий реальний часМетеорологічні Інтернет-ресурси не корисні: вони націлюють дощові або грозові хмари за допомогою УФ та ІЧ-світлових хвиль, тому вони не "ловлять 100% з них і не дають" нормального "вигляду, який ми всі знаємо. Більше того, рідкісні хороші текстури хмари, вистрілені у видимому світлі, майже не відрізняють грунт від хмар: іноді берег довгим 5000 км не стоїть ніде. Сервер, можливо, зможе використовувати ці зображення для створення кращих текстур.

Коли я дивлюся на ці картинки, то уявляю, щощоб не дорогим способом було б об'єднати кілька приємних хмарних сіток із бази даних, що містять різні моделі, а потім трохи перетворити ці сітки всередині шейдера, поки користувач перейде на них. Якщо він все ще буде тут через 90 хвилин, коли повернеться, незалежно від того, чи модель знову не буде такою. Однак урарик не може зникнути.

Що ти думаєш про це ?

Відповіді:

2 для відповіді № 1

Для таких ефектів, мабуть, існує лише один спосіб зробити це правильно, і це:

  1. Воксельні карти + Об'ємна візуалізація ймовірно, с Візуалізація задніх променів

    Оскільки ваша позиція фіксована, це не повинно бути настільки жорстким щодо вимог пам'яті. Вам потрібно реалізувати і те, і інше МІЕ та Релей розсіюються. Розсіювання можна значно спростити, і все одно добре бачити

    карти вокселів впоратися зі світловими прогалинами, тінями та розсіянням порівняно легко, але потрібно багато пам'яті та обчислювальної потужності. Всі інші 2D методи, як правило, болісно працюють над тим, що 3D воксельні карти робити рідно з невеликими зусиллями. Наприклад:

  2. Генератори процесорних хмарних карт

    Вам потрібно це для кожного типу хмар, щоб вам було що візуалізувати. Там є лібри / демонстрації / приклади, дивіться: