Модели затенения

Июнь 23, 2010 в категории Статьи

Затенение по Фонгу

Автор — Phong Biu-Thuong, модель разработана в 1975 году. Модель затенения по Фонгу вычисляет с помощью локальной модели освещенности интенсивность для каждого пиксела поверхности. Для этого, как и в модели Гуро, находятся нормали всех вершин полигона, затем эти нормали интерполируются вдоль границ полигона и для внутренних точек полигона – вдоль сканирующей линии, подобно тому, как интерполировалась интенсивность освещения в модели Гуро. И уже затем для каждого пиксела полигона рассчитывается освещенность (рис. 6).

Рис. 6

Интерполяция нормалей вместо интенсивностей решает вопрос с подсветками – поскольку теперь известна нормаль в каждой точке поверхности, то интенсивность можно рассчитать точнее. Рассчитанные при помощи модели затенения Фонга нормали высокополигонной модели можно сохранить как специальную растровую карту (карту нормалей) и затем накладывать ее на низкополигонную модель – присваивать каждому пикселу низкополигонной модели нормаль, рассчитанную на высокополигонной модели. В результате рендер низкополигонной модели будет почти таким же качественным, как и рендер высокополигонной модели.

У метода имеются свои недостатки:

  • медленный расчет;
  • появление полигонных силуэтов по контуру объекта;
  • зависимость результата от ориентации объекта.

Другие модели затенения

Существуют разновидности модели затенения по Фонгу: Blinn, Cook-Torrance и Ward (anisotropic).

Модель затенения Blinn несколько видоизменяет размер зеркальной подсветки в зависимости не только от направления на источник света, но и от направления на наблюдателя. Чем меньше угол между поверхностью и направлением на наблюдателя, тем больше размер подсветки, поскольку поверхность сильнее разбрасывает свет.

Модель затенения CookTorrance является логичным развитием модели Blinn, делая подсветку зависящей еще и от длины волны. Эта модель позволяет получать дополнительные цветовые переходы на краях подсветки для шероховатых металлических и пластиковых материалов.

Модель затенения Ward (anisotropic shading) позволяет определять преимущественное направление шероховатостей поверхности и изменять форму подсветки в зависимости от такого направления (рис. 7).

Рис. 7

Что касается теней, то поскольку локальная модель освещенности не рассматривает взаимодействие объектов между собой, тени просчитываются при помощи некоторых искусственных процедур. Например, рендер генерирует растровое изображение (теневую карту, shadow map) объекта и затем проектирует ее по направлению от источника к объекту. Такие тени не могут учитывать цвет, прозрачность и другие сложные свойства объектов. Полноценный расчет теней возможен только начиная с метода визуализации raytracing.

Источники:

  1. Сиваков И. http://www.3dmir.ru
  2. Горелик Александр. Основы моделирования и визуализации в 3ds Max (в упражнениях).

Редактор сайта

Страниц: 1 2

Реклама: