9.2.1. Наложение двухмерных проективных текстур

Процесс наложения проективных текстур выполняется в несколько этапов. Перед началом процедуры мы располагаем двухмерным образцом (шаблоном) текстуры - функцией интенсивности T(s, t). Независимые переменные s и / называются координатами текстуры (texture coordinates). Сейчас можно считать образец текстуры массивом бесконечного (или, по крайней мере, очень большого) размера, хотя реально он, естественно, хранится в памяти конечного объема из п х т ячеек. Элементы массива образца текстуры иногда по аналогии с пикселями называют текселями (texels)2. Не теряя общности, можно изменить масштаб представления координат текстуры и выйти за диапазон (0, 1).

Карта наложения (texture тар) ассоциирует с каждой точкой геометрического объекта интенсивность Г соответствующей точки образца, причем точки поверхности, в свою очередь, отображаются на пространство координат экрана. Если объект представлен в пространственных (геометрических) координатах ((х, у, z) или (х, у, z, \v)), можно далее рассуждать в терминах математической функции отображения пространства координат текстуры на пространство геометрических координат и функции проективного преобразования, отображающей пространство геометрических координат на пространство координат экрана. Если описать геометрический объект в параметрической форме в виде функции параметров (и, v), как мы это делали при работе со сферической поверхностью в главе 6, то в этой цепочке отражений появится еще одно звено. В этом случае нужно учитывать существование двух параллельных процессов отражения: первый отражает координаты текстуры на геометрические координаты, а второй - параметрические координаты на геометрические, как это схематически показано на рис. 9.3. Третья функция отражения переносит нас в пространство координат экрана.

Если не вдаваться в подробности, то процесс наложения текстуры выглядит достаточно простым. Малая область образца отображается на область геометрической поверхности, соответствующую одному пикселю окончательного изображения. Предполагается, что значения интенсивности образца Т представляют собой цветовой код RGB и их можно использовать либо для модификации цвета поверхности, определяемого из других соображений (источники света, отражение и т.п.), либо для назначения поверхности цвета только на основании образца текстуры. Этот процесс выполняется синхронно с алгоритмом тонирования или закрашивания поверхности.


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