Direct3D 着色器代码

像素着色器代码遵循命令流中的D3DHAL_DP2CREATEPIXELSHADER结构。 对于 DirectX 8.1 及更早版本,顶点着色器代码遵循D3DHAL_DP2CREATEVERTEXSHADER结构。 对于 DirectX 9.0 及更高版本,顶点着色器代码遵循D3DHAL_DP2CREATEVERTEXSHADERFUNC结构。 运行时在调用驱动程序的 D3dDrawPrimitives2 函数时创建像素或顶点着色器。 为了创建像素着色器,运行时使用D3DDP2OP_CREATEPIXELSHADER操作代码调用 D3dDrawPrimitives2。 若要在 DirectX 8.1 及更早版本中创建顶点着色器,运行时使用 D3DDP2OP_CREATEVERTEXSHADER 操作代码调用 D3dDrawPrimitives2。 若要在 DirectX 9.0 及更高版本中创建顶点着色器,运行时使用D3DDP2OP_CREATEVERTEXSHADERFUNC操作代码调用 D3dDrawPrimitives2。

本部分介绍单个着色器代码的格式以及构成每个着色器代码的标记。

着色器代码格式

着色器代码标记

着色器操作代码

着色器寄存器类型

着色器相对寻址