Два направления и свойства поверхности

Чтобы оценить отражённый вклад, нужны направление прихода света, направление наблюдения и локальная геометрия. Нормаль и касательные задают систему координат. Для анизотропного материала ориентация касательных особенно важна: поворот текстурных координат может изменить направление вытянутого блика.

BRDF связывает входное освещение с выходящим радиансом с учётом геометрического множителя. Её численное значение не следует читать как обычную долю отражения, ограниченную единицей в каждом направлении. Ограничение энергии относится к интегралу по направлениям, а не к высоте узкого пика.

Пример из документацииШкалы параметров Principled BSDFКаждая строка меняет один параметр Principled BSDF от 0 до 1. Особенно хорошо видны расширение блика при росте roughness и переход от диэлектрика к металлу. Названия параметров относятся к историческому руководству.Blender Documentation Team · CC BY-SA 4.0 · Blender Manual 3.5
Версия и обработка изображения

Blender Manual 3.5 — архив документации от 23.02.2023; точная версия интерфейса отдельных кадров не указана. Преобразование в WebP без потерь; исходные размеры сохранены; без кадрирования, дорисовки и удаления подписей. Все авторы и источники.

Модель, параметры и текстуры

Модель определяет форму отклика: например, диффузную или микрофасетную. Параметры меняют её характер: roughness, IOR, оттенок, анизотропию. Текстура распределяет эти параметры по поверхности. Если изменить только картинку, сама математическая форма отражения останется прежней.

Узел материала может скрывать сразу несколько компонентов: базовый слой, clear coat, sheen и transmission. Их корректное сочетание требует учёта энергии между слоями. Простое сложение нескольких ярких отражений способно давать материал, который возвращает больше энергии, чем получает.

ПОПРОБУЙТЕ САМИ · МАТЕМАТИЧЕСКАЯ МОДЕЛЬ

Как угол меняет отражение

Свет идёт из воздуха в прозрачный диэлектрик. Измените угол к нормали и показатель преломления материала.

0° — прямо на поверхность · 90° — скользящий угол
Воздух: η₁ = 1 · Материал: η₂ = η
0%25%50%75%100%0°15°30°45°60°75°90°Отражённая доля FУгол к нормали θОтражено 7%Прошло 93%
При 0°: F₀4%
При выбранном угле7%
Прошедшая доля93%

Формула: F₀ = ((η − 1)/(η + 1))²; F(θ) ≈ F₀ + (1 − F₀)(1 − cos θ)⁵

Аппроксимация Шлика для одной гладкой границы без поглощения. Отражённая и прошедшая доли мощности складываются в 1. Здесь нет металлов, поляризации, тонких плёнок и полного внутреннего отражения.

Источники: Filament: Fresnel · PBRT: отражение и преломление

Оценка и выборка — разные операции

Интегратор иногда спрашивает, каков отклик для уже известной пары направлений. Иногда он просит BSDF выбрать следующее направление с полезной вероятностью. Эти операции должны быть согласованы: неправильно заданная плотность вероятности меняет результат статистической оценки.

Для художника это объясняет, почему два внешне похожих шейдера могут давать разный шум. Даже при близкой форме блика стратегии выборки и взаимодействие с источниками бывают различны. Нельзя судить о качестве модели только по одному числу samples.

Пример из документацииНаправление анизотропного бликаСлева направо: поворот анизотропии 0°, 90° и направление, заданное текстурой. Изменяется форма и направление блика — наглядный пример роли касательного направления.Blender Documentation Team · CC BY-SA 4.0 · Blender Manual 3.5
Версия и обработка изображения

Blender Manual 3.5 — архив документации от 23.02.2023; точная версия интерфейса отдельных кадров не указана. Преобразование в WebP без потерь; исходные размеры сохранены; без кадрирования, дорисовки и удаления подписей. Все авторы и источники.

Логика процессаОригинальная учебная схема материала. Не является интерфейсом или измеренным образцом конкретного движка.

Где заканчивается локальная модель

BSDF описывает взаимодействие в одной точке поверхности. Перенос внутри объекта с выходом в другом месте требует более широкой модели, например BSSRDF или объёмного расчёта. Отражение от соседней стены появляется благодаря интегратору, который связывает точки сцены, а не благодаря особому «цвету GI» внутри обычной BRDF.

Тонкое просвечивание и полноценное рассеяние внутри толщи тоже не одно и то же. Для листа бумаги может быть удобна тонкая модель, для восковой фигуры важны размеры и внутренний путь. Выбор определяется геометрией и наблюдаемым эффектом.

Практический способ читать материал

При изучении нового шейдера выясните, какие компоненты он содержит, как смешивает слои и какие параметры управляют физическими свойствами. Сначала изолируйте diffuse, затем specular, потом transmission или SSS. Смотрите не только на цвет, но и на изменение отклика при вращении источника и камеры.

Сохраните простой тест с плоскостью, сферой и объектом с фасками. Сфера показывает угловой отклик, плоскость — масштаб текстуры, фаски — поведение блика на реальной форме. Такое сочетание выявляет больше ошибок, чем один универсальный shader ball, и помогает переносить материал между приложениями без слепого копирования чисел.

У стеклянного образца дополнительно проверьте вход и выход из среды, а у металлического — отсутствие ошибочной диффузной основы. Для тонкой плёнки уточните, моделируется ли она отдельной геометрией или специальным слоем. Эти вопросы помогают читать шейдер как описание взаимодействия света. Без такого разделения художник может долго подбирать цвет, пытаясь компенсировать неверный тип оптической модели, который никакая текстура не исправит.