用于创建像素或顶点着色器的命令由一组着色器代码组成。 这些代码指示驱动程序如何创建着色器。 每个着色器代码中的标记格式决定了其唯一性。 着色器代码令牌是具有特定格式的 DWORD。
DirectX3D 运行时在将代码传递给驱动程序之前验证着色器代码。 当着色器代码到达驱动程序时,驱动程序可以解释代码,因为代码的格式有效。 驱动程序读取着色器代码的令牌来解释代码。
每个单独的着色器代码采用常规标记布局的格式。 第一个令牌必须是 版本令牌。 版本令牌提供代码的版本号,还确定代码是用于像素还是顶点着色器。 着色器内容遵循版本令牌,由各种 指令令牌组成,可能与 注释令牌 和空格交织在一起。 根据指令令牌指定的精确操作,标签、目标参数以及源参数令牌也可以是着色器内容的一部分,并跟随在指令令牌之后。 例如,如果指令令牌指定了ADD 指令,驱动程序将确定该指令令牌后面有一个目标参数令牌和两个源参数令牌。 结束令牌用于完成着色器代码。
设置说明(例如,D3DSIO_DCL和D3DSIO_DEF)包含唯一格式的令牌。
每个着色器指令都包含特定的标记格式。 着色器作代码部分描述了每个着色器指令的标记格式。
着色器指令以主要指令开头,以D3DSIO_RET或D3DSIO_END指令结尾。 子例程遵循D3DSIO_RET说明。
关于可以在指令令牌中指定的操作详情,请参阅最新 DirectX SDK 文档中的像素着色器文档和顶点着色器文档。
要求
在 Windows Vista 和更高版本的 Windows作系统中可用。