纹理混合操作和参数 (Direct3D 9)

应用程序将混合阶段与当前纹理集中的每个纹理相关联。 Direct3D 按顺序计算每个混合阶段,从集合中的第一个纹理开始,以第八个纹理结束。

Direct3D 将当前纹理集中每个纹理的信息应用于与之关联的混合阶段。 应用程序通过调用 IDirect3DDevice9::SetTextureStageState 来控制使用纹理阶段中的信息。 可以为颜色通道和 alpha 通道设置单独的操作,每个操作都使用两个参数。 使用D3DTSS_COLOROP阶段状态指定颜色通道操作;使用 D3DTSS_ALPHAOP 指定 alpha 操作。 这两个阶段状态都使用 D3DTEXTUREOP 枚举类型的值。

纹理混合参数使用 D3DTEXTURESTAGESTATETYPE 枚举类型的D3DTSS_COLORARG1、D3DTSS_COLORARG2、D3DTSS_ALPHARG1和D3DTSS_ALPHARG2成员。 使用 D3DTA 标识相应的参数值。

注意

通过将该阶段的颜色操作设置为D3DTOP_DISABLE,可以禁用纹理阶段以及级联中的任何后续纹理混合阶段。 禁用颜色操作也会有效地禁用 alpha 操作。 启用颜色操作时,无法禁用 Alpha 操作。 将 alpha 操作设置为在启用颜色混合时D3DTOP_DISABLE会导致未定义的行为。

 

若要确定设备的受支持纹理混合操作,请查询 D3DCAPS9 结构的 TextureCaps 成员。

纹理混合