Пользовательские шейдеры BSL, которые обладают приростом производительности BSL, но при этом имеют более физически точные шейдеры воды, присутствующие в других основных шейдерах, таких как Kuda. Поскольку это по большей части личный проект, я удалил функции, которыми не пользуюсь: поддержку RP, Cel Shading, Lightmap Banding.
Оригинальные шейдеры имели зажатый динамический диапазон, из-за чего изображение выглядело тусклым. Это также способствует снижению контраста между областями с низкой освещенностью и открытыми площадками. Я отрегулировал цвета и параметры освещения и добавил поддержку источников света HDR (имитация HDR, а не фактическое отображение HDR). Это делает изображение более фотореалистичным.
![]() | ![]() |
![]() | ![]() |
Приблизительная модель рефракции, которая смещает образец текстуры по нормали к масштабированной поверхности. Это придает воде, стеклу и льду больше физического присутствия.
![]() | ![]() |
У BSL уже есть отличные размышления. В отличие от других шейдеров, BSL вычисляет отражения многократного отражения, используя буферы предыдущих кадров. Учитывая такие замечательные размышления, их следует демонстрировать, когда это возможно. Я настроил свойства материала льда и стекла так, чтобы они отражали свет.
![]() | ![]() |
Я использую более физически обоснованную модель прозрачности. Цветное стекло фильтрует определенные цвета для получения выходного цвета. Это можно смоделировать, умножив цвет стекла на цвет сцены за ним. Это также верно (но в меньшей степени) для отражений.
![]() | ![]() |
Уменьшена прозрачность дождя и включено правильное смешивание с прозрачностью воды и стекла. Увеличена контрастность наружных блоков для имитации «мокрой» текстуры (предотвращает размытие изображения из-за серого освещения).
![]() | ![]() |
Это скорее вопрос личного вкуса. Градиенты неба в оригинальном шейдере слишком крутые, из-за чего небо выглядит фантастическим/мультяшным (половина оранжевого, половина голубого неба). Я уменьшил градиент, добавив смещение к скалярному произведению <skypos,lightpos>. Эти кадры были сделаны в одно и то же игровое время.
![]() | ![]() |
![]() | ![]() |