На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

В Институте автоматики и процессов управления ДВО РАН, г. Владивосток, предложен способ динамического генерирования сложной многослойной текстуры с повторением из составляющих элементов при помощи мультитекстурирования на основе шейдеров AGAL

27.05.2013

В приложениях компьютерной графики (как для традиционных, так и для интернет-приложений) регулярно встречаются задачи создания различных текстур – растровых изображений, которые накладываются на поверхности трехмерных объектов. Разные типы текстур могут накладываться на объекты по-разному в зависимости от текстурных координат. Встречаются различные сложные специфические текстуры: составленные из нескольких других текстур, размноженные по поверхности, с применением масок по определенному цветовому ключу, а также комбинированные текстуры, обладающие свойствами сразу нескольких типов текстур.

Основная проблема, возникающая при работе с текстурами, – объемы памяти, необходимые для их хранения. При этом имеют значение объемы файла текстуры, текстуры в оперативной памяти (для ее обработки) и объем видеопамяти (для отображения текстуры). Объем памяти, занимаемой текстурой, зависит от различных параметров: размера (ширины и длины изображения), требуемого качества, количества слоев, повторяемости. Для простых многослойных и повторяющихся текстур существуют стандартные способы их создания: многослойные текстуры без повторно используемых элементов готовятся в редакторах; текстуры с повторяющимся узором по всей поверхности создаются и накладываются в процессе визуализации с помощью тайлингового (бесшовного) повторения заданного шаблона. Однако для более сложных текстур не всегда удается найти оптимальный способ создания: трудно отыскать хорошее решение для многослойных текстур, в которых есть независимые, повторно используемые слои (можно найти хорошее решение для отдельных слоев, но не для всей текстуры); метод тайлингового наложения нельзя применить к большим текстурам с неповторяющимся узором.

Одним из возможных путей решения задач оптимизации хранения и использования текстур является мультитекстурирование на основе шейдеров. Мультитекстурирование – это метод рендеринга с использованием нескольких текстур за минимальное число проходов, как правило, при помощи шейдеров. Шейдеры – короткие программы, которые выполняются непосредственно видеокартой и потому способны динамически и гибко осуществлять визуализацию.

Подробное описание дается в статье «Мультитекстурирование с помощью шейдеров», автор Федорищев Л.А. (Институт автоматики и процессов управления ДВО РАН, г. Владивосток).