Читайте также:
|
|
НАЛОЖЕНИЕ ТЕКСТУРЫ
Общие положения
Текстура – одномерное, двумерное или трехмерное изображение, которое имеет множество ассоциированных с ним параметров, определяющих, каким образом осуществляется наложение изображения на поверхность.
Существует множество источников текстур. Чаще всего используются растровые изображения и вычисляемые функции.
Текстура задается функцией texture (s) для одномерной (1 D) текстуры, texture (s, t) – двумерной (2 D), texture (s, t, r) – трехмерной (3 D) в так называемом текстурном пространстве, которое принято обозначать параметрами s, t и r. Функция texture генерирует значение цвета или яркости для каждого значения s, t и r в диапазоне от 0 до 1.
Остановимся на изучении наложения текстуры, использующей в качестве источника текстур двумерные растровые изображения.
На рис. 11.1 представлено пространство двумерной текстуры, заданной функцией texture (s, t).
Следующим этапом после задания текстурной функции является ее правильное отображение на нужную поверхность и затем просмотр ее с помощью камеры.
На рис. 11.2 приводится иллюстрация этой задачи в целом.
Образец текстуры отображается на ближнюю грань куба. Для грани куба имеется преобразование текстуры в мировые координаты , которое переводит значения текстуры (s, t) в точки (x, y, z) на поверхность грани. Затем осуществляется преобразование точек трехмерного пространства в точки экрана, поэтому точка (x, y, z) поверхности «видна» на месте пикселя с координатами . Таким образом, можно определить обратное преобразование , которое по пиксельным координатам генерирует текстурные координаты (s, t).
Наложение текстуры на грань
Поскольку пространство текстуры является плоским, то проще всего наложить текстуру на плоскую поверхность. На рис. 11.3 показано текстурное изображение, отображенное на область треугольника F. Следует указать, как связывать точки текстуры с точками области F. В OpenGL для связи точки текстурного пространства с каждой вершиной на грани используется функция glTexCoord2*().
Пример задания текстурных координат glTexCoord2f(0.0, 0.5). Это один пример из большого количества модификаций задания текстурной координаты. Здесь текстурная координата задается двумя параметрами вещественного типа. В общем случае текстурная координата задается функцией:
Дата добавления: 2015-07-10; просмотров: 157 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ПЕРЕВЯЗКИ ПРИ ГНОЙНЫХ ЗАБОЛЕВАНИЯХ КОЖИ И ПОДКОЖНОЙ КЛЕТЧАТКИ | | | Пример. |