着色器代码格式

用于创建像素或顶点着色器的命令由一组着色器代码组成。 这些代码指示驱动程序如何创建着色器。 每个着色器代码中的标记格式决定了其唯一性。 着色器代码标记是具有特定格式的 DWORD。

DirectX3D 运行时先验证着色器代码,然后再将代码传递给驱动程序。 当着色器代码到达驱动程序时,驱动程序可以解释代码,因为代码的格式有效。 驱动程序读取着色器代码的令牌以解释代码。

每个单独的着色器代码都使用常规标记布局进行格式设置。 第一个令牌必须是 版本令牌。 版本令牌提供代码的版本号,还确定代码是用于像素着色器还是顶点着色器。 着色器内容遵循版本标记,由各种 指令标记组成,可能与 注释标记 和空格交织在一起。 根据指令令牌指定的精确操作, 标签目标参数源参数令牌 也可以是着色器内容的一部分,并遵循指令标记。 例如,如果指令令牌指定 ADD 指令,则驱动程序确定一个目标令牌和两个源参数令牌遵循指令标记。 结束标记完成着色器代码。

设置说明 (例如,D3DSIO_DCL和D3DSIO_DEF) 包含唯一格式的令牌。

每个着色器指令都包含特定的标记格式。 着色器操作代码部分介绍了每个着色器指令的标记格式。

着色器指令从主指令开始,以D3DSIO_RET或D3DSIO_END指令结束。 子例程遵循D3DSIO_RET说明。

有关可在指令令牌中指定的操作的详细信息,请参阅最新 DirectX SDK 文档中的像素着色器参考和顶点着色器参考。

要求

在 Windows Vista 和更高版本的 Windows 操作系统中可用。