输出寄存器

  • 顶点颜色寄存器
  • 雾寄存器
  • Position_Register
  • Point_Size_Register
  • Texture_Coordinate_Register

寄存器名称前面有小写字母 o,指示输出寄存器是仅写的。

顶点颜色寄存器 - oD0、oD1

oD0 是漫射颜色寄存器。 oD1 是反射颜色寄存器。 oD0 值是内插的,并写入到像素着色器的输入颜色寄存器 0 (v0) 。 oD1 值是内插的,并写入到像素着色器的输入颜色寄存器 1 (v1) 。 有关像素着色器颜色寄存器的详细信息,请参阅寄存器。

顶点着色器版本 1_1 2_0 2_sw 2_x 3_0 3_sw
顶点颜色寄存器 x x x x

 

雾寄存器 - oFog

输出雾值寄存器。 该值是要内插的雾因子,然后路由到雾表。 仅使用雾的标量 x 分量。 在传递给光栅器之前,值将固定在零到 1 之间。

顶点着色器版本 1_1 2_0 2_sw 2_x 3_0 3_sw
雾寄存器 x x x x

 

位置寄存器 - oPos

输出位置寄存器。 该值是同质剪辑空间中的位置。 此值必须由顶点着色器编写。

顶点着色器版本 1_1 2_0 2_sw 2_x 3_0 3_sw
位置寄存器 x x x x

 

点大小寄存器 - oPts

输出点大小寄存器。 仅使用点大小的标量 x 分量。

顶点着色器版本 1_1 2_0 2_sw 2_x 3_0 3_sw
点大小寄存器 x x x x

 

纹理坐标寄存器 - oT0 到 oT7

输出纹理坐标寄存器。 具体而言,这些是输出数据寄存器的数组,这些寄存器通过纹理采样阶段将数据路由到像素着色器,以迭代并用作纹理坐标。

顶点着色器版本 1_1 2_0 2_sw 2_x 3_0 3_sw
纹理坐标寄存器 x x x x

 

写入纹理坐标寄存器时,建议仅传递任意数量的浮点值作为相应纹理映射的维度。 控制使用修饰符传递的值。 例如,对二维纹理地图使用 .xy。

为纹理阶段启用纹理投影时,必须将所有四个浮点值写入相应的纹理寄存器。

使用可编程管道时,任何 D3DTTFF* 纹理转换标志都应为零。

纹理坐标范围

对象顶点数据提供输入纹理坐标。 不使用平铺纹理的对象通常具有范围 [0,1] 中的纹理坐标。 使用平铺纹理的对象(如地形)通常具有介于 [-?,+?] 范围内的纹理坐标 在哪里? 可以是较大的浮点数。

纹理坐标内插对顶点数据执行光栅化。 在光栅化期间,纹理坐标在对象顶点之间内插,通过纹理换行和按纹理大小缩放 (还考虑到纹理地址模式) 生成整数索引。 然后,该索引用于执行纹理查找。 MaxTextureRepeat 可用于确定纹理可平铺的次数。

如果使用 texcoord 或 texcrd) 将纹理坐标直接读取到像素着色器 (,则纹理坐标范围取决于指令和像素着色器版本。

顶点着色器寄存器