Текстуры

Текстуры — это очень мощное средство для обеспечения реалистичности созданных на компьютере трехмерных изображений. Direct3D поддерживает широкий набор функций для работы с текстурами, предоставляя разработчикам удобный доступ к дополнительным методам обработки текстур.

Для повышения производительности рассмотрите возможность использования динамических текстур. Динамические текстуры можно блокировать, производить в них запись и разблокировать для каждого кадра.

В этом разделе

Раздел Описание

Вводные сведения о текстурах

Текстурный ресурс — это структура данных для хранения текселей, представляющих собой наименьшие элементы текстуры, которые можно использовать для чтения или записи. При чтении текстуры шейдером ее можно фильтровать по дискретизаторам текстур.

Основные принципы создания текстуры

Ранние созданные на компьютере трехмерные изображения, как правило, имели глянцевый, "пластиковый" вид, несмотря на то что были достаточно продвинутыми для своего времени. В них отсутствовали разнообразные типы маркировки, такие как царапины, трещины, отпечатки пальцев и пятна, придающие трехмерным объектам реалистичную визуальную сложность. Текстуры стали популярным способом повышения реалистичности создаваемых на компьютере трехмерных изображений.

Режимы адресации текстур

Приложение Direct3D может назначать координаты текстуры любым вершинам любого примитива. Как правило U- и V-координаты текстур, назначаемых вершине, находятся в диапазоне от 0,0 до 1,0 включительно. Однако назначая координаты текстуры вне этого диапазона, можно создавать некоторые специальные эффекты текстурирования.

Фильтрация текстур

Фильтрация текстур создает цвет для каждого пикселя двумерного отрисованного изображения примитива при отрисовке путем сопоставления трехмерного примитива двумерному экрану.

Ресурсы текстуры

Текстуры — это тип ресурса, используемого для отрисовки.

Обтекание текстурой

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

Наложение текстуры

Direct3D может накладывать на примитивы до восьми текстур за один проход. Использование множественного наложения текстур способно значительно увеличить частоту кадров приложения Direct3D. Приложения используют множественное наложение текстур для нанесения текстур, теней, зеркального освещения, рассеянного освещения и других специальных эффектов за один проход.

Сопоставление света с текстурами

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

Ресурсы сжатых текстур

Карты текстуры — это цифровые изображения, нарисованные на трехмерных фигурах для визуальной детализации. Они сопоставляются с этими фигурами на этапе растеризации, и этот процесс может потреблять большие объемы системной шины и памяти. Чтобы уменьшить объем памяти, потребляемый текстурами, Direct3D поддерживает сжатие поверхностей текстуры. Некоторые устройства Direct3D поддерживают сжатые поверхности текстур по умолчанию.

 

Руководство по обучению графике Direct3D