Интерфейс ID3DXEffectStateManager

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

  • Эффект вызывает ID3DXEffect::BeginPass.
  • Состояние эффекта динамически обновляется путем вызова соответствующего API изменения состояния. Дополнительные сведения см. на страницах отдельных методов.

Когда приложение использует диспетчер состояний для реализации пользовательских обратных вызовов, эффект больше не сохраняет и не восстанавливает состояние автоматически при вызове ID3DXEffect::BeginPass и ID3DXEffect::EndPass. Так как приложение реализовало пользовательское поведение сохранения и восстановления в обратных вызовах, это автоматическое поведение обходится.

Элементы

Интерфейс ID3DXEffectStateManager наследуется от интерфейса IUnknown . ID3DXEffectStateManager также имеет следующие типы членов:

Методы

Интерфейс ID3DXEffectStateManager содержит следующие методы.

Метод Описание
LightEnable Функция обратного вызова, которая должна быть реализована пользователем для включения или отключения света.
SetFVF Функция обратного вызова, которая должна быть реализована пользователем для задания кода FVF.
SetLight Функция обратного вызова, которая должна быть реализована пользователем для установки индикатора.
SetMaterial Функция обратного вызова, которая должна быть реализована пользователем для задания состояния материала.
SetNPatchMode Функция обратного вызова, которая должна быть реализована пользователем для установки количества сегментов подразделов для N-исправлений.
SetPixelShader Функция обратного вызова, которая должна быть реализована пользователем для установки пиксельного шейдера.
SetPixelShaderConstantB Функция обратного вызова, которая должна быть реализована пользователем для задания массива логических констант вершинного шейдера.
SetPixelShaderConstantF Функция обратного вызова, которая должна быть реализована пользователем для установки массива констант с плавающей запятой вершинного шейдера.
SetPixelShaderConstantI Функция обратного вызова, которая должна быть реализована пользователем для задания массива целочисленных констант вершинного шейдера.
SetRenderState Функция обратного вызова, которая должна быть реализована пользователем для задания состояния отрисовки.
SetSamplerState Функция обратного вызова, которая должна быть реализована пользователем для установки выборки.
SetTexture Функция обратного вызова, которая должна быть реализована пользователем для задания текстуры.
SetTextureStageState Функция обратного вызова, которая должна быть реализована пользователем для установки состояния этапа текстуры.
SetTransform Функция обратного вызова, которая должна быть реализована пользователем для настройки преобразования.
SetVertexShader Функция обратного вызова, которая должна быть реализована пользователем для установки вершинного шейдера.
SetVertexShaderConstantB Функция обратного вызова, которая должна быть реализована пользователем для задания массива логических констант вершинного шейдера.
SetVertexShaderConstantF Функция обратного вызова, которая должна быть реализована пользователем для установки массива констант с плавающей запятой вершинного шейдера.
SetVertexShaderConstantI Функция обратного вызова, которая должна быть реализована пользователем для задания массива целочисленных констант вершинного шейдера.

 

Комментарии

Пользователь создает интерфейс ID3DXEffectStateManager путем реализации класса, производного от этого интерфейса, и реализации всех методов интерфейса. После создания интерфейса можно получить или задать диспетчер состояний в эффекте с помощью ID3DXEffect::GetStateManager и ID3DXEffect::SetStateManager.

Тип LPD3DXEFFECTSTATEMANAGER определяется как указатель на этот интерфейс.

typedef interface ID3DXEffectStateManager ID3DXEffectStateManager;
typedef interface ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;

Требования

Требование Значение
Заголовок
D3DX9Effect.h
Библиотека
D3dx9.lib

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

Интерфейсы эффектов