blog.maximeheckel.com

Реалистичное небо на шейдерах: рэлеевское рассеяние и raymarching

Обычный градиент на фоне никогда не даст реалистичного неба. Чтобы добиться достоверной картинки в браузере, атмосферу вычисляют как объемную среду. В материале Максима Хекеля разобран процесс создания шейдера для рендеринга неба и планет. В основе лежат алгоритм raymarching и физические модели рассеяния света.

Алгоритм пускает лучи от камеры и собирает данные о плотности среды. Функция Рэлея определяет количество воздуха на заданной высоте. Затем вычисляется transmittance — доля света, прошедшая сквозь газ без потерь. Здесь применяется закон Бера. Короткие волны рассеиваются сильнее длинных. Поэтому на низких высотах накапливается синий цвет, формируя привычное дневное небо.

Для точной симуляции заката или орбитального вида добавляются новые переменные. Это рассеяние Ми для пыли и поглощение света озоновым слоем. Тяжелые вычисления оптимизируются через подход на основе LUT от Себастьяна Иллера. Результат оформляется как эффект постобработки. Он работает в реальном времени и генерирует физически корректную атмосферу.

Поделиться:

Telegram

Ещё из архива

Все публикации
Реалистичное небо на шейдерах: рэлеевское рассеяние и raymarching - ЗДЕСЬ Медиа