Интерфейс 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;
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел