Посветите фонариком сбоку на монету — и рельеф, почти незаметный при прямом свете, станет объёмным. Слой делает то же с картинкой ниже: считает яркость высотой и освещает получившуюся поверхность лампой. Так рисуют отмывку рельефа на картах, так работает фильтр «Тиснение» в графических редакторах и рельефное текстурирование в играх.
Как это устроено
В каждой точке слой оценивает наклон поверхности — градиент высоты ∇h. Для этого он берёт по восемь отсчётов на двух кольцах радиусом «Ширина фаски» и её половиной, а не соседние пиксели, поэтому фаска одинаково широкая и в превью, и на экспорте 8K. Из наклона строится нормаль n — перпендикуляр к поверхности; «Глубина» делает склоны круче, «Вдавить» меняет низины и вершины местами.
Освещённость — по закону Ламберта: косинус угла между нормалью и направлением на лампу L. Лампу задают «Направление света» (азимут) и «Высота света» (угол над горизонтом). «Тиснение» вычитает освещённость плоского места, так что ровный фон становится средне-серым и остаются одни грани. «Свет и тень» умножает на освещённость собственные цвета картинки и добавляет блик по Блинну — Фонгу. «Металл» отражает в поверхности условную студию с ярким горизонтом и тонирует её цветом картинки: склоны, обращённые к свету, вспыхивают, отвернувшиеся уходят в тень.
Немного истории
Закон косинуса для матовых поверхностей Иоганн Ламберт сформулировал в «Фотометрии» (1760). Картографы давно договорились освещать карты с северо-запада, то есть сверху слева: мы по привычке ждём света сверху, и при свете снизу горы кажутся впадинами. Вилаянур Рамачандран в 1988 году показал эту иллюзию на простых кружках с градиентом. В компьютерной графике Джеймс Блинн в 1978 году придумал bump mapping — менять не геометрию, а только нормали, — и именно это делает слой.
Что покрутить
- «Направление света» 135° — привычный картографический свет сверху слева. Поставьте −45°, и выпуклости провалятся: та самая иллюзия.
- «Высота света» 10–20° — скользящий свет, как на монете: контраст граней резко растёт.
- Маленькая «Ширина фаски» — гравировка тонких линий, большая — мягкие подушки.
- Если на картинке тёмные линии на светлом фоне, включите «Вдавить» — линии станут выпуклыми валиками.
- Лучше всего рельеф ложится на «Реакцию–диффузию» (тиснёная кожа, кораллы), «Клеточный шум» (брусчатка, чешуя) и «Лабиринт»; режим «металл» поверх «Гильоша и спирографа» даёт гравировку банкноты или часового циферблата.