Текстура — это двумерная битовая карта (или попросту картинка), которая накладывается на полигон и изображает фактуру его поверхности. То, что нельзя смоделировать полигонами, можно просто нарисовать. Причем если на
| Рис. 2. Без текстур этот монстр смотрелся бы довольно странно.
|
| поверхности, которую мы моделируем текстурой, нет сильно выдающихся или неоднородных деталей, она будет смотреться реалистично. {Показать подряд несколько текстур, как простых прямоугольных, так и сложных «раскроек», типа того, что приведено тут на рисунке. И показать объекты с наложенными текстурами}
По аналогии с конечным изображением, которое состоит из пикселей, текстура состоит из текселей. {тексель-элемент текстуры (бегущая строка)}
| Рис. 3. Один из самых неприятных глюков с текстурами, происходящий по вине Z-буфера.
|
| Текстура накладывается строго по координатам. Например, в API OpenGL координаты текселей включают как сопроводительную информацию о полигонах. (вставить из книги Intro to RT)-> Процесс сопоставления координат текстур давно алгоримически выведен для объектов типа сферы, цилиндра, конуса и, естетвенно, многоугольника и в частности треугольника. {вот тут должен быть пример со сложной «раскройкой и моделью» тут можно показать текстуры персоонажей игр из Халвы, к прмеру, через SDK (попросить Гуляныча)}
| Рис. 4. MIP-уровни текстуры можно представить в виде пирамиды. Каждый последующий уровень в 2 или 4 раза меньше предыдущего.
|
| Проблемы с текстурами При работе с текстурами существует немало проблем, которые приходится решать весьма изощренными способами. У экрана есть свое разрешение и определенное количество пикселей, которые на нем можно отобразить в данной области экрана. Но в соответствующей области виртуального мира количество текселей может быть и больше, и меньше, чем на экране. Отсюда и рождаются проблемы отображения текстурированных объектов. Для борьбы с ними используются различные методы фильтрации.
| Рис. 5. Пример грубой ошибки разработчика: число MIP- уровней явно недостаточно.
|
|
|