效果系統介面 (Direct3D 11)
效果系統會定義數個介面來管理效果狀態。 介面有兩種類型:執行時間用來呈現效果和反映介面,以取得和設定效果變數。
效果執行時間介面
使用執行時間介面來呈現效果。
執行時間介面 | 描述 |
---|---|
ID3DX11Effect | 用於轉譯的一或多個群組和技術的集合。 |
ID3DX11EffectPass | 狀態指派的集合。 |
ID3DX11EffectTechnique | 一或多個傳遞的集合。 |
ID3DX11EffectGroup | 一或多個技術的集合。 |
效果反映介面
反映會在效果系統中實作,以支援讀取 (和寫入) 效果狀態。 有多種方式可以存取效果變數。
設定效果狀態群組
使用這些介面來取得和設定狀態群組。
反映介面 | 描述 |
---|---|
ID3DX11EffectBlendVariable | 取得和設定混合狀態。 |
ID3DX11EffectDepthStencilVariable | 取得和設定深度樣板狀態。 |
ID3DX11EffectRasterizerVariable | 取得並設定轉譯器狀態。 |
ID3DX11EffectSamplerVariable | 取得和設定取樣器狀態。 |
設定效果資源
使用這些介面來取得和設定資源。
反映介面 | 描述 |
---|---|
ID3DX11EffectConstantBuffer | 存取紋理緩衝區或常數緩衝區中的資料。 |
ID3DX11EffectDepthStencilViewVariable | 存取深度樣板資源中的資料。 |
ID3DX11EffectRenderTargetViewVariable | 存取轉譯目標中的資料。 |
ID3DX11EffectShaderResourceVariable | 存取著色器資源中的資料。 |
ID3DX11EffectUnorderedAccessViewVariable | 存取未排序存取檢視中的資料。 |
設定其他效果變數
使用這些介面,依變數類型取得和設定狀態。
反映介面 | 描述 |
---|---|
ID3DX11EffectClassInstanceVariable | 取得類別實例。 |
ID3DX11EffectInterfaceVariable | 取得和設定介面。 |
ID3DX11EffectMatrixVariable | 取得並設定矩陣。 |
ID3DX11EffectScalarVariable | 取得並設定純量。 |
ID3DX11EffectShaderVariable | 取得著色器變數。 |
ID3DX11EffectStringVariable | 取得並設定字串。 |
ID3DX11EffectType | 取得變數類型。 |
ID3DX11EffectVectorVariable | 取得並設定向量。 |
所有反映介面都衍生自 ID3DX11EffectVariable。
相關主題