Реалистичность изображения значительно возрастает при наложении на грани каркасного объекта текстуры поверхности. На рис. 8.30 показано несколько примеров. На рис. 8.30, а на каждую из граней коробки «наклеены» картинки. На рис. 8.30, б вокруг цилиндрической банки обернута наклейка, а стена на заднем плане выглядит сделанной из кирпича.

Основной метод работы с текстурами заключается в том, что вначале задается некоторая текстурная функция texture(s, г) в так называемом «текстурном пространстве» («texture space»), которое принято обозначать параметрами sut. Функция texture(s, г) генерирует значение цвета или яркости для каждого значения s и г в диапазоне от 0 до 1. На рис. 8.31 приведены два примера текстурных функций, где значение функции texture(s, t) изменяется от 0 (темный) до 1 (светлый). На рис. 8.30, а изображена растровая (bit-map) текстура, а на рис. 8.30, б - процедурная текстура, которая будет рассмотрена ниже.

Существует множество источников текстур. Чаще всего используются растровые отображения и вычисляемые функции.

Растровые текстуры

Текстуры часто формируются из растровых представлений изображения (таких, как оцифрованная фотография, графический фрагмент (clip art) или изображение, полученное заранее в результате работы какой-нибудь программы). Такое представление состоит из массива значений цвета (обозначим его txtr[c][r] ), которые часто называют текселями (texels - от слов TEXture ELement (элемент текстуры)).

8.5. Добавление текстуры к граням Я застал Рим городом из кирпича, а оставил его городом из мрамора.

Август Цезарь-Светоний

Примеры текстуры, наложенной на поверхности

Рис 8.30. Примеры текстуры, наложенной на поверхности

8.5. Добавление текстуры к граням Если этот массив содержит С столбцов и R строк, то индексы с и t изменяются соответственно от 0 до С-1иот0до/?-1.В простейшем случае функция texture(s, г) обращается к элементам этого массива таким образом"opengl1_557.html">⇐ Предыдущая| |Следующая ⇒