效果系统接口 (Direct3D 10)

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

效果运行时接口

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

运行时接口 说明
ID3D10Effect 接口 用于呈现的一种或多种技术的集合。
ID3D10Include 接口 用于在读取包含文件时添加自定义行为的接口。
ID3D10EffectPass 接口 状态分配的集合。
ID3D10EffectPool 接口 为在效果之间共享的变量创建内存位置。
ID3D10EffectTechnique 接口 一个或多个传递的集合。

 

效果反射接口

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

设置效果状态组

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

反射接口 说明
ID3D10EffectBlendVariable 接口 获取并设置混合状态。
ID3D10EffectDepthStencilVariable 接口 获取和设置深度模具状态。
ID3D10EffectRasterizerVariable 接口 获取并设置光栅器状态。
ID3D10EffectSamplerVariable 接口 获取并设置采样器状态。

 

设置效果资源

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

反射接口 说明
ID3D10EffectConstantBuffer 接口 访问纹理缓冲区或常量缓冲区中的数据。
ID3D10EffectDepthStencilViewVariable 接口 访问深度模具资源中的数据。
ID3D10EffectRenderTargetViewVariable 接口 访问呈现器目标中的数据。
ID3D10EffectShaderResourceVariable 接口 访问着色器资源中的数据。

 

设置其他效果变量

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

反射接口 说明
ID3D10EffectMatrixVariable 接口 获取并设置矩阵。
ID3D10EffectScalarVariable 接口 获取并设置标量。
ID3D10EffectShaderVariable 接口 获取并设置着色器变量。
ID3D10EffectStringVariable 接口 获取并设置字符串。
ID3D10EffectType 接口 获取变量类型。
ID3D10EffectVectorVariable 接口 获取并设置向量。

 

所有反射接口都派生自 ID3D10EffectVariable 接口

效果

Direct3D 10 编程指南