Многопассное смешение текстур (Direct3D 9)
Приложения Direct3D могут достичь многочисленных специальных эффектов, применяя различные текстуры к примитиву на протяжении нескольких проходов отрисовки. Общим термином для этого является многопассное смешение текстур. Обычное использование многопассного смешения текстур заключается в эмулации эффектов сложных моделей освещения и заливки путем применения нескольких цветов из нескольких различных текстур. Одно из таких приложений называется сопоставлением света. Дополнительные сведения см. в разделе Сопоставление света с текстурами (Direct3D 9).
Заметка
Некоторые устройства могут применять несколько текстур к примитивам в одном проходе. Дополнительные сведения см. в смешения текстур (Direct3D 9).
Если оборудование пользователя не поддерживает смешивание нескольких текстур, приложение может использовать многопространительную текстуру для достижения одинаковых визуальных эффектов. Однако приложение не может поддерживать частоту кадров, которые возможны при использовании нескольких смешения текстур.
Для выполнения многопассного смешивания текстур в приложении C/C++ .
- Задайте текстуру на этапе 0, вызвав метод IDirect3DDevice9::SetTexture.
- Выберите нужные аргументы и аргументы альфа-смешения с помощью метода IDirect3Device9::SetTextureStageState. Параметры по умолчанию хорошо подходят для смешивания текстур с несколькимиpassми.
- Отрисовка соответствующих объектов в сцене.
- Задайте следующую текстуру на этапе 0 текстуры.
- Задайте D3DRS_SRCBLEND и D3DRS_DESTBLEND состояния отрисовки, чтобы настроить исходные и целевые коэффициенты смешивания по мере необходимости. Система объединяет новые текстуры с существующими пикселями в поверхности целевой отрисовки в соответствии с этими параметрами.
- Повторите шаги 3, 4 и 5 с большим количеством текстур по мере необходимости.
Связанные разделы