ID3DXEffectStateManager 介面
這是使用者實作的介面,可讓使用者從效果設定裝置狀態。 此介面中的每個方法都必須由使用者實作,然後在發生下列任一情況時當做應用程式的回呼使用:
- 效果會呼叫 ID3DXEffect::BeginPass。
- 藉由呼叫適當的狀態變更 API,動態更新效果狀態。 如需詳細資訊,請參閱個別方法頁面。
當應用程式使用狀態管理員來實作自訂回呼時,當呼叫 ID3DXEffect::BeginPass 和 ID3DXEffect::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::GetStateManager 和 ID3DXEffect::SetStateManager來取得或設定效果中的狀態管理員。
LPD3DXEFFECTSTATEMANAGER 類型定義為這個介面的指標。
typedef interface ID3DXEffectStateManager ID3DXEffectStateManager;
typedef interface ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱