Поскольку цвета скорее формируются как результат интерполяции, чем вычисляются для каждого пиксела, закраска Гуро не может полноценно отобразить блики. Поэтому при использовании закраски Гуро зеркальный компонент интенсивности в равенстве (8.11) обычно подавляется. Блики лучше воспроизводятся при использовании закраски Фонга, к изучению которой мы и переходим.

Закраска Фонга Можно достигнуть намного большей реалистичности, особенно в случае бликов на блестящих объектах, если добиться лучшей аппроксимации нормали к поверхности для каждого пиксела. Такой тип закраски называется закрашиванием Фонга (Phong shading), по имени его создателя Фонга Буи-туонга (Phong Bui-tuong) [Phong, 162].

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

Интерполирование нормалей

Рис. 8.26. Интерполирование нормалей На рис. 8.26 показана проекция грани, а также нормали ш,, т2, т3, т4 в ее четырех вершинах. Для строки развертки у^ векторы т|сЛ и находятся посредством линейной интерполяции. Например"images/tmp8E4A-547.png">

Полученный таким образом интерполированный вектор необходимо нормировать к единичной длине, прежде чем использовать его в формуле закрашивания. Поскольку нормали m|eft и mrif,ht известны, то посредством их интерполяции можно получить нормальный вектор для каждой точки х вдоль строки развертки. Такой вектор после нормировки используется при закраске для вычисления цвета каждого интересующего нас пиксела.

На рис. 8.27 изображен объект, визуализированный с использованием закраски Гуро, и тот же объект, визуализированный с использованием закраски Фонга. Поскольку при закраске Фонга направление нормали изменяется плавно от точки к точке и более точно аппроксимирует нормаль истинной гладкой поверхности, зеркальные блики в этом случае воспроизводятся намного правдоподобнее, чем при закраске Гуро, и поэтому визуализация обладает большей реалистичностью. Основным недостатком закраски Фонга является его относительно малая скорость: для каждого пиксела требуется намного больше вычислений, поэтому закраска Фонга занимает в шесть - восемь раз больше времени, чем закраска Гуро. Предпринималось множество попыток ускорить этот процесс [Bishop, 23; Claussen, 43].


⇐ Предыдущая| |Следующая ⇒