Все, что нужно сделать с установленными значениями индекса, - найти нужное значение в текстурной карте. Основное значение диффузно отраженного цвета вычисляется умножением интенсивности освещения на BaseColor. Для создания эффекта керамики это значение смешивается со значением на карте среды. Затем добавлением значения прозрачности 1,0 создается vec4 и окончательный цвет фрагмента передается для дальнейшей обработки. Окончательный результат показан на цветном рис. 8. На изображении видны ветки деревьев на спине и задней части трицератопса. В этом примере использовались цвет (0,4, 0,4, 1,0) (то есть светло-синий) и коэффициент смешивания 0,8 (то есть 80 % рассеянного цвета, 20 % значения из текстурной карты среды).
Пример наложения карты среды на зеркальную поверхность и добавление процедурных «шишечек» показан на цветном рис. 9.
10.5. Полиномное отображение текстуры с BRDF-данными
Чтобы моделировать более реалистичные поверхности, нужно выйти за пределы простой модели освещения/отражения, встроенной в OpenGL и предполагающей, что все поверхности имеют зеркальные свойства отражения, С некоторого времени исследователи в области компьютерной графики выполняют рендеринг изображений с помощью более реалистичной модели отражения, которая называется функция распределения двунаправленного отражения, или BRDF1. Эта модель для вычисления отражения от поверхности учитывает и направление падающего освещения, и направление отраженного освещения. У глы возвышения и азимута этих векторов направления используются для вычисления относительного количества отраженного света (модель из стандартной функциональности OpenGL учитывает только угол возвышения). Эта модель может использоваться для рендеринга поверхностей со свойством анизотропного отражения (поверхности не инвариантны в отражении света при вращении). Для измерения BRDF-реальных поверхностей были придуманы специальные инструменты. Измерения BRDF можно дискретизировать, чтобы создавать текстурные карты для воспроизведения функции
BRDF во время выполнения программы. Разработано множество различных методов дискретизации и воспроизведения для рендеринга таких материалов.
Этот раздел описывает BRDF-шейдеры на языке шейдеров OpenGL, которые Используют метод полиномного отображения текстуры, разработанный в Hewlett-Packard. Шейдеры любезно предоставлены Брэдом Риттером из Hewlett-Packard. Данные BRDF предоставлены Корнелльским университетом. Там их получили, Измеряя отражение от нескольких видов автомобильных покрытий, предоставленных Ford Motor Co.
Одна из причин, по которой этот вид рендеринга считается важным, - достижение эффекта реалистичности материалов, характеристики отражения которых зависят от угла обзора и направления освещения, например автомобильных покрытий. Для конструктора автомобилей, несомненно, важно увидеть окончательное изображение автомобиля, даже если он окрашен краской, которая имеет разные характеристики отражения в зависимости от угла обзора и направления освещения. Один ■Из образцов, испытанных в Корнелльском университете, Mystique Lacquer, имел особенное свойство: цвет отраженного света менялся в зависимости от угла обзора. Этот материал нельзя правильно воспроизвести стандартными методами.