Рендеринг и области применения

Фрактальный рельеф, нормали и освещение

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

Розовый трехмерный фрактальный рельеф на черном фоне
3D-рельеф в MandelKit: высота, нормали и освещение преобразуют скалярные фрактальные данные в пространственное представление.Изображение: Björn Kindler / MandelKit · MandelKit · Eigene Darstellung · Own work

Выберите поле высоты

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

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

Нормали из соседних выборок

Конечные разности оценивают горизонтальные и вертикальные наклоны. Их векторное произведение или эквивалентная формула градиента дают направление нормали. Шаг дискретизации должен соответствовать масштабу выходного пикселя; в противном случае сильное увеличение или экспорт с высоким разрешением изменят видимую резкость.

Нормали формируются на основе разниц между соседними точками высоты. Их интенсивность зависит от шага пикселей и масштаба; фиксированная разница без масштабирования приводит к тому, что один и тот же рельеф выглядит более крутым при другом разрешении. Центральные разницы более симметричны, чем односторонние. Края плиток требуют добавления точек-ореолов, чтобы избежать видимых швов при освещении.

Направленный и точечный свет

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

Направленный свет имеет одно направление для каждого пикселя. Точечный свет также требует указания положения и расстояния до каждой точки поверхности, что приводит к изменению направления и ослаблению. Переключатель в пользовательском интерфейсе, который изменяет только свою метку, в то время как шейдер по-прежнему считывает униформу направления, никогда не сможет активировать режим «Точечный». Модель состояния, расположение униформ и ветвь шейдера должны иметь одинаковый тип освещения.

Источники и дополнительная литература

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

  1. The Science of Fractal ImagesSpringer
  2. Metal overviewApple Developer Documentation