共用方式為


ID3DXEffectStateManager 介面

這是使用者實作的介面,可讓使用者從效果設定裝置狀態。 此介面中的每個方法都必須由使用者實作,然後在發生下列任一情況時當做應用程式的回呼使用:

  • 效果會呼叫 ID3DXEffect::BeginPass
  • 藉由呼叫適當的狀態變更 API,動態更新效果狀態。 如需詳細資訊,請參閱個別方法頁面。

當應用程式使用狀態管理員來實作自訂回呼時,當呼叫 ID3DXEffect::BeginPassID3DXEffect::EndPass時,效果將不再自動儲存和還原狀態。 由於應用程式已在回呼中實作自訂儲存和還原行為,因此會略過此自動行為。

成員

ID3DXEffectStateManager介面繼承自IUnknown介面。 ID3DXEffectStateManager 也有下列類型的成員:

方法

ID3DXEffectStateManager介面具有這些方法。

方法 Description
LightEnable 使用者必須實作的回呼函式,才能啟用/停用光線。
SetFVF 使用者必須實作的回呼函式,才能設定 FVF 程式碼。
SetLight 使用者必須實作的回呼函式,才能設定光線。
SetMaterial 使用者必須實作的回呼函式,才能設定材料狀態。
SetNPatchMode 使用者必須實作的回呼函式,以設定 N 修補程式的細分區段數目。
SetPixelShader 使用者必須實作的回呼函式,才能設定圖元著色器。
SetPixelShaderConstantB 使用者必須實作的回呼函式,才能設定頂點著色器布林常數的陣列。
SetPixelShaderConstantF 使用者必須實作的回呼函式,才能設定頂點著色器浮點常數的陣列。
SetPixelShaderConstantI 使用者必須實作的回呼函式,才能設定頂點著色器整數常數的陣列。
SetRenderState 使用者必須實作的回呼函式,才能設定轉譯狀態。
SetSamplerState 使用者必須實作的回呼函式,才能設定取樣器。
SetTexture 使用者必須實作的回呼函式,才能設定紋理。
SetTextureStageState 使用者必須實作的回呼函式,才能設定紋理階段狀態。
SetTransform 使用者必須實作的回呼函式,才能設定轉換。
SetVertexShader 使用者必須實作的回呼函式,才能設定頂點著色器。
SetVertexShaderConstantB 使用者必須實作的回呼函式,才能設定頂點著色器布林常數的陣列。
SetVertexShaderConstantF 使用者必須實作的回呼函式,才能設定頂點著色器浮點常數的陣列。
SetVertexShaderConstantI 使用者必須實作的回呼函式,才能設定頂點著色器整數常數的陣列。

 

備註

使用者藉由實作衍生自這個介面的類別,以及實作所有介面方法,來建立 ID3DXEffectStateManager 介面。 建立介面之後,您可以使用 ID3DXEffect::GetStateManagerID3DXEffect::SetStateManager來取得或設定效果中的狀態管理員。

LPD3DXEFFECTSTATEMANAGER 類型定義為這個介面的指標。

typedef interface ID3DXEffectStateManager ID3DXEffectStateManager;
typedef interface ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;

規格需求

需求
標頭
D3DX9Effect.h
程式庫
D3dx9.lib

另請參閱

效果介面