Фрактальный рельеф, нормали и освещение
Фрактал с 3D-эффектом не обязательно должен быть объемным. Двумерное скалярное поле можно интерпретировать как высоту, дифференцировать по нормалям и затенять как поверхность.

Выберите поле высоты
Высоту могут задавать плавная итерация, потенциал, расстояние или комбинированный эффект. Нелинейное масштабирование и ограничение определяют, превратятся ли мелкие детали границы в гребень, плато или шум. Выбранное поле представляет собой скорее художественную интерпретацию, чем физический рельеф.
Число итераций, гладкий потенциал и поля расстояний дают очень разные высоты. Необработанные итерации создают ступени, непрерывный потенциал — более плавные террасы, а поля расстояний — резкие граничные гребни. Высоту следует нормализовать перед освещением и сохранить её масштаб. В противном случае изменение градиента может изменить рельеф, даже если пользователь ожидает только изменения цвета.
Нормали из соседних выборок
Конечные разности оценивают горизонтальные и вертикальные наклоны. Их векторное произведение или эквивалентная формула градиента дают направление нормали. Шаг дискретизации должен соответствовать масштабу выходного пикселя; в противном случае сильное увеличение или экспорт с высоким разрешением изменят видимую резкость.
Нормали формируются на основе разниц между соседними точками высоты. Их интенсивность зависит от шага пикселей и масштаба; фиксированная разница без масштабирования приводит к тому, что один и тот же рельеф выглядит более крутым при другом разрешении. Центральные разницы более симметричны, чем односторонние. Края плиток требуют добавления точек-ореолов, чтобы избежать видимых швов при освещении.
Направленный и точечный свет
Направленный свет везде имеет одно направление, как удалённый источник. Точечный свет зависит от вектора и расстояния от каждой точки поверхности и может ослабевать. Термины, относящиеся к окружающему, рассеянному, зеркальному и окклюзионному освещению, должны отражать отдельные элементы управления и активные состояния.
Направленный свет имеет одно направление для каждого пикселя. Точечный свет также требует указания положения и расстояния до каждой точки поверхности, что приводит к изменению направления и ослаблению. Переключатель в пользовательском интерфейсе, который изменяет только свою метку, в то время как шейдер по-прежнему считывает униформу направления, никогда не сможет активировать режим «Точечный». Модель состояния, расположение униформ и ветвь шейдера должны иметь одинаковый тип освещения.
Источники и дополнительная литература
В данной статье в оригинальной формулировке обобщены следующие специализированные источники. Доступ получен и редакционная проверка проведена 12 августа 2026.
- The Science of Fractal ImagesSpringer
- Metal overviewApple Developer Documentation


