效果系統介面 (Direct3D 10)

效果系統會定義數個介面來管理效果狀態。 介面有兩種類型:執行時間用來呈現效果和反映介面,以取得和設定效果變數。

效果執行時間介面

使用執行時間介面來呈現效果。

執行時間介面 Description
ID3D10Effect 介面 一或多個用於轉譯的技術集合。
ID3D10Include 介面 讀取 include 檔案時新增自訂行為的介面。
ID3D10EffectPass 介面 狀態指派的集合。
ID3D10EffectPool 介面 建立要于效果之間共用之變數的記憶體位置。
ID3D10EffectTechnique 介面 一或多個傳遞的集合。

 

效果反映介面

反映是在效果系統中實作,以支援讀取 (和寫入) 效果狀態。 有多種方式可以存取效果變數。

設定效果狀態群組

使用這些介面來取得和設定狀態群組。

反映介面 Description
ID3D10EffectBlendVariable 介面 取得並設定混合狀態。
ID3D10EffectDepthStencilVariable 介面 取得和設定深度樣板狀態。
ID3D10EffectRasterizerVariable 介面 取得並設定點陣化狀態。
ID3D10EffectSamplerVariable 介面 取得和設定取樣器狀態。

 

設定效果資源

使用這些介面來取得和設定資源。

反映介面 Description
ID3D10EffectConstantBuffer 介面 存取紋理緩衝區或常數緩衝區中的資料。
ID3D10EffectDepthStencilViewVariable 介面 在深度樣板資源中存取資料。
ID3D10EffectRenderTargetViewVariable 介面 存取轉譯目標中的資料。
ID3D10EffectShaderResourceVariable 介面 存取著色器資源中的資料。

 

設定其他效果變數

使用這些介面,依變數類型取得和設定狀態。

反映介面 Description
ID3D10EffectMatrixVariable 介面 取得並設定矩陣。
ID3D10EffectScalarVariable 介面 取得並設定純量。
ID3D10EffectShaderVariable 介面 取得並設定著色器變數。
ID3D10EffectStringVariable 介面 取得並設定字串。
ID3D10EffectType 介面 取得變數類型。
ID3D10EffectVectorVariable 介面 取得並設定向量。

 

所有反映介面都衍生自 ID3D10EffectVariable 介面

效果

Direct3D 10 的程式設計指南