D3DHAL_DP2PIXELSHADER 结构 (D3DHAL)

仅限 DirectX 8.0 和更高版本。

D3DHAL_DP2PIXELSHADER 结构用于设置当前像素着色器,或删除像素着色器,具体取决于通过 D3dDrawPrimitives2接收 (D3DDP2OP_SETPIXELSHADER 或 D3DDP2OP_DELETEPIXELSHADER) 的操作码。

语法

typedef struct _D3DHAL_DP2PIXELSHADER {
  DWORD dwHandle;
} D3DHAL_DP2PIXELSHADER;

成员

dwHandle

指定由运行时分配的像素着色器的句柄。 对于删除请求,保证句柄是 subzero 的。 对于 set 请求,句柄可以为零。 如果设置为零,则驱动程序应重置任何可编程像素状态并恢复为固定函数像素处理行为 (例如,通过使用呈现状态) 。

注解

从固定函数像素处理切换到可编程顶点处理时,应保留旧的呈现状态和纹理阶段状态。 如果执行了从可编程到 fixed 函数像素处理的开关, (驱动程序收到着色器句柄为零) 的 D3DDP2OP_SETPIXELSHADER 时,应还原保留状态。

当在可编程着色器之间切换时,任何在该着色器的定义中指定了值的常量寄存器都应该设置为该值。 所有其他常量寄存器的值应保持不变。

要求

   
标头 d3dhal (包含 D3dhal)

请参阅

D3DHAL_DP2CREATEPIXELSHADER

D3DHAL_DP2SETPIXELSHADERCONST

D3dDrawPrimitives2