处理着色器代码

用户模式显示驱动程序使用顶点声明以及每个像素和顶点着色器代码中的标记来对着色器汇编程序进行编程。

当 Microsoft Direct3D 运行时分别调用驱动程序的 CreateVertexShaderFuncCreatePixelShader 函数时,用户模式显示驱动程序接收顶点和像素着色器代码。 当运行时调用驱动程序的 CreateVertexShaderDecl 函数时,用户模式显示驱动程序接收顶点声明。 顶点声明由 D3DDDIVERTEXELEMENT 结构的数组组成。 用户模式显示驱动程序将着色器代码和顶点着色器声明转换为特定于硬件的格式,并将着色器代码和声明与着色器和声明句柄相关联。 运行时在调用 SetVertexShaderDeclSetVertexShaderFuncSetPixelShader 函数时使用创建的句柄来设置顶点着色器声明以及顶点和像素着色器,以便所有后续绘制操作都使用这些句柄。

有关单个着色器代码的格式以及构成每个着色器代码的标记的详细信息,请参阅 Direct3D 着色器代码

注意 当应用程序创建顶点着色器、像素着色器和顶点声明时,每个的着色器代码和声明都以 结束标记结尾。 当 Direct3D 运行时反过来将顶点和像素着色器创建请求传递给用户模式显示驱动程序时,请求附带的顶点和像素着色器代码以结束标记结束。 但是,当运行时传递顶点声明创建请求时,请求附带的顶点声明不会以结束标记结尾。