структура D3DHAL_DP2TEXTURESTAGESTATE (d3dhal.h)

Одна или несколько D3DHAL_DP2TEXTURESTAGESTATE структур анализируются из буфера команд с помощью обратного вызова D3dDrawPrimitives2, когда член bCommandструктуры D3DHAL_DP2COMMAND имеет значение D3DDP2OP_TEXTURESTAGESTATE и используются для задания соответствующего состояния этапа текстуры.

Синтаксис

typedef struct _D3DHAL_DP2TEXTURESTAGESTATE {
  WORD  wStage;
  WORD  TSState;
  DWORD dwValue;
} D3DHAL_DP2TEXTURESTAGESTATE;

Члены

wStage

Идентифицирует этап текстуры, на котором нужно обновить состояние текстуры. Этот элемент может быть целым числом в диапазоне от 0 до 7, при этом самая многочисленная текстура находится ближе всего к буферу кадра.

TSState

Задает перечисленное значение D3DTEXTURESTAGESTATETYPE, указывающее обновляемое состояние текстуры. Приложения DirectX 9.0 и более поздних версий могут использовать значения в перечислении D3DSAMPLERSTATETYPE для управления характеристиками состояний отрисовки, связанных с текстурами выборки. В DirectX 8.0 и более ранних версиях эти состояния выборки были включены в перечисление D3DTEXTURESTAGESTATETYPE. Среда выполнения сопоставляет состояния выборки пользовательского режима (D3DSAMP_Xxx) со значениями D3DTSS_Xxx в режиме ядра, чтобы драйверы не обрабатывали состояния выборки в пользовательском режиме. Дополнительные сведения о D3DTEXTURESTAGESTATETYPE и D3DSAMPLERSTATETYPE см. в документации по пакету SDK для DirectX.

dwValue

Указывает значение, на которое драйвер должен обновить состояние текстуры, определяемое TSState .

Комментарии

D3dDrawPrimitives2 должен обрабатывать структуры wStateCount D3DHAL_DP2TEXTURESTAGESTATE из буфера команд. Значение wStateCount указывается в структуре D3DHAL_DP2COMMAND.

Для каждой структуры D3DHAL_DP2TEXTURESTAGESTATE D3dDrawPrimitives2 должен обновить внутреннее состояние текстуры драйвера, связанное с текстурой в dwStage , чтобы отразить новое значение на основе TSState.

Драйверы, которые не поддерживают многотекстовую структуру, должны реализовывать поддержку только для этапа текстуры 0.

На следующем рисунке показана часть примера буфера команд, содержащего команду D3DDP2OP_TEXTURESTAGESTATE и три D3DHAL_DP2TEXTURESTAGESTATE структуры. Драйвер должен соответствующим образом обновить этапы ноль и три состояния стадии частной текстуры.

Рисунок, показывающий буфер команд с командой D3DDP2OP_TEXTURESTAGESTATE и тремя D3DHAL_DP2TEXTURESTAGESTATE структурами

Требования

Требование Значение
Заголовок d3dhal.h (включая D3dhal.h)

См. также раздел

D3DDP2OP_TEXTURESTAGESTATE

D3DHAL_DP2COMMAND

D3dDrawPrimitives2