Многопроходное наложение текстурыMultipass texture blending

Приложения Direct3D могут создавать различные специальные эффекты путем применения различных текстур к примитиву в процессе многопроходной отрисовки.Direct3D applications can achieve numerous special effects by applying various textures to a primitive over the course of multiple rendering passes. Общий термин для этого — многопроходное наложение текстуры.The common term for this is multipass texture blending. Обычно многопроходное наложение текстуры используется для эмуляции эффектов сложных моделей освещения и затенения путем применения нескольких цветов из нескольких различных текстур.A typical use for multipass texture blending is to emulate the effects of complex lighting and shading models by applying multiple colors from several different textures. Одно такое приложение называется Сопоставление освещения.One such application is called light mapping. См. раздел Сопоставление освещения с помощью текстур.See Light mapping with textures.

Примечание    некоторые устройства поддерживают применение нескольких текстур к примитивы за один проход.Note   Some devices are capable of applying multiple textures to primitives in a single pass. См. раздел Наложение текстур.See Texture blending.

 

Если оборудование пользователя не поддерживает множественное наложение текстур, приложение может использовать многопроходное наложение текстур для достижения тех же визуальных эффектов.If the user's hardware does not support multiple texture blending, your application can use multipass texture blending to achieve the same visual effects. Тем не менее приложение не может поддерживать ту же частоту кадров, которая достижима при использовании множественного наложения текстур.However, the application cannot sustain the frame rates that are possible when using multiple texture blending.

Выполнение многопроходного наложения текстуры в приложении на C или C++.To perform multipass texture blending in a C/C++ application:

  1. Задайте текстуру на этапе текстуры 0.Set a texture in texture stage 0.
  2. Выберите нужные аргументы и операции цвета и альфа-наложения.Select the desired color and alpha blending arguments and operations. Параметры по умолчанию хорошо подходят для многопроходного наложения текстур.The default settings are well-suited for multipass texture blending.
  3. Отрисовка соответствующих объектов в сцене.Render the appropriate objects in the scene.
  4. Установите следующую текстуру на этапе текстуры 0.Set the next texture in texture stage 0.
  5. Настройте состояния прорисовки на изменение коэффициентов наложения в источнике и назначении согласно необходимости.Set the render states to adjust the source and destination blending factors as needed. Система накладывает новые текстуры на существующие пиксели на целевой поверхности отрисовки в соответствии с этими параметрами.The system blends the new textures with the existing pixels in the render-target surface according to these parameters.
  6. Повторите шаги 3, 4 и 5 для всех необходимых текстур.Repeat Steps 3, 4, and 5 with as many textures as needed.

Связанные разделыRelated topics

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