Поделиться через


Многопассное смешение текстур

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

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

 

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

Чтобы выполнить многопассное слияние текстур в приложении C/C++:

  1. Задайте текстуру на этапе 0 текстуры.
  2. Выберите нужный цвет и альфа-смешивание аргументов и операций. Параметры по умолчанию хорошо подходят для смешивания текстур с несколькимиpassми.
  3. Отрисовка соответствующих объектов в сцене.
  4. Задайте следующую текстуру на этапе 0 текстуры.
  5. Задайте состояния отрисовки, чтобы настроить исходные и целевые факторы смешивания по мере необходимости. Система объединяет новые текстуры с существующими пикселями в поверхности целевой отрисовки в соответствии с этими параметрами.
  6. Повторите шаги 3, 4 и 5 с большим количеством текстур по мере необходимости.

Смешивание текстур