效果系统接口 (Direct3D 11)

效果系统定义了多个用于管理效果状态的接口。 有两种类型的接口:运行时用于呈现效果的接口和反射接口,用于获取和设置效果变量。

效果运行时接口

使用运行时接口呈现效果。

运行时接口 说明
ID3DX11Effect 用于呈现的一个或多个组和技术的集合。
ID3DX11EffectPass 状态分配的集合。
ID3DX11EffectTechnique 一个或多个传递的集合。
ID3DX11EffectGroup 一个或多个技术的集合。

 

效果反射接口

反射在效果系统中实现,以支持读取 (和写入) 效果状态。 可通过多种方式访问效果变量。

设置效果状态组

使用这些接口获取和设置一组状态。

反射接口 说明
ID3DX11EffectBlendVariable 获取并设置混合状态。
ID3DX11EffectDepthStencilVariable 获取和设置深度模具状态。
ID3DX11EffectRasterizerVariable 获取并设置光栅器状态。
ID3DX11EffectSamplerVariable 获取并设置采样器状态。

 

设置效果资源

使用这些接口获取和设置资源。

反射接口 说明
ID3DX11EffectConstantBuffer 访问纹理缓冲区或常量缓冲区中的数据。
ID3DX11EffectDepthStencilViewVariable 访问深度模具资源中的数据。
ID3DX11EffectRenderTargetViewVariable 访问呈现器目标中的数据。
ID3DX11EffectShaderResourceVariable 访问着色器资源中的数据。
ID3DX11EffectUnorderedAccessViewVariable 在无序访问视图中访问数据。

 

设置其他效果变量

使用这些接口按变量类型获取和设置状态。

反射接口 说明
ID3DX11EffectClassInstanceVariable 获取类实例。
ID3DX11EffectInterfaceVariable 获取并设置接口。
ID3DX11EffectMatrixVariable 获取并设置矩阵。
ID3DX11EffectScalarVariable 获取并设置标量。
ID3DX11EffectShaderVariable 获取着色器变量。
ID3DX11EffectStringVariable 获取并设置字符串。
ID3DX11EffectType 获取变量类型。
ID3DX11EffectVectorVariable 获取并设置向量。

 

所有反射接口都派生自 ID3DX11EffectVariable

Direct3D 11) (效果

Direct3D 11 编程指南