Объемное текстурирование позволяет реализовывать вид изнутри, например, частичные разрезы и сечения трехмерных объектов, отображаемых с текстурными узорами. Таким образом, кирпичи, шлакоблоки или древесные материалы могут иметь одинаковые текстурные узоры, изображенные во всем объеме объекта. На рис. 10.108 показана сцена, на которой с использованием методов объемных текстур отображены текстура древесины и другие узоры материалов.
УЗОРЫ С СОКРАЩЕННОЙ ТЕКСТУРОЙ
В анимации и других приложениях размер объекта часто меняется. Если такие объекты отображены с текстурными узорами, то при изменениях нужно применить процедуры отображения текстуры к модифицированным размерам объекта. Если размер текстурированного объекта уменьшается, текстурный узор применяется к меньшей области, что может привести к искажению текстуры. Чтобы избежать этого, создается ряд узоров с сокращенной текстурой (texture reduction patterns), которые также можно использовать при уменьшении масштаба отображенного размера предмета.
Обычно каждый сокращенный узор вдвое меньше предыдущего. Например, если дан двухмерный шаблон 16 на 16, нужно задать четыре дополнительных узора с сокращенными размерами 8 на 8, 4 на 4, 2 на 2 и 1 на 1. Для любой проекции объекта затем можно применить подходящий сокращенный узор и минимизировать искажение. Данные сокращенные узоры часто называются MIP maps или mip maps1, где термин “MIP” является аббревиатурой латинского выражения multum in parvo, что можно перевести как “больше в малом [объекте]”.
МЕТОДЫ ПРОЦЕДУРНОГО ТЕКСТУРИРОВАНИЯ
Другой метод добавления текстурного узора к объекту - использовать процедурное определение применяемого изменения цвета. Данный подход позволяет избежать расчета преобразований, фигурирующих при отображении узоров, представленных в массиве, в описания объектов. Кроме того, процедурное текстурирование снимает высокие требования к памяти, возникающие, если на сцену нужно наложить множество больших текстурных узоров, особенно объемных текстур.
Процедурная текстура формируется путем расчета изменений свойств или характеристик объекта. Волокна древесины или узор мрамора, например, можно изобразить на объекте, используя гармонические функции (синусоиды), определенные в области трехмерного пространства. Затем на гармонические вариации накладываются случайные возмущения, чтобы разрушить симметричные узоры. Сцена на рис. 10.109 визуализирована с использованием процедурных описаний узоров, типичных для поверхностей каменной кладки, полированного золота и банановых листьев.
Рис. 10.109. Сцена, визуализированная с использованием VG Shaders и смоделированная с помощью RenderMan и применением многоугольников (для создания граней камней), поверхностей второго порядка и бикубических участков. Помимо текстурных массивов использовались процедурные методы, что позволило создать душную атмосферу джунглей и полог леса, демонстрирующие эффект пятнистого освещения (перепечатано с разрешения VALIS Group из Graphics Gems III, отредактировано Дэвидом Кирком (David Kirk). © 1992, Academic Press, Inc.)