输出寄存器

  • 顶点颜色寄存器
  • 雾化寄存器
  • 位置 _ 注册
  • 点 _ 大小 _ 寄存器
  • 纹理 _ 坐标 _ 寄存器

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

顶点颜色注册-oD0、oD1

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

顶点着色器版本 1 _ 1 2 _ 0 2 _ 软件 2 _ x 3 _ 0 3 _ 软件
顶点颜色寄存器 x x x x

雾化注册-oFog

输出雾化值注册。 该值是要内插并路由到雾化表的雾化因子。 仅使用雾化的标量 x 分量。 值介于0和1之间,然后才能传递到光栅化。

顶点着色器版本 1 _ 1 2 _ 0 2 _ 软件 2 _ x 3 _ 0 3 _ 软件
雾化寄存器 x x x x

位置注册-oPos

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

顶点着色器版本 1 _ 1 2 _ 0 2 _ 软件 2 _ x 3 _ 0 3 _ 软件
位置注册 x x x x

点大小注册-

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

顶点着色器版本 1 _ 1 2 _ 0 2 _ 软件 2 _ x 3 _ 0 3 _ 软件
点大小寄存器 x x x x

纹理坐标注册-oT0 到 oT7

输出纹理坐标寄存器。 具体而言,这些是一组输出数据寄存器,它们通过纹理采样阶段将数据路由到像素着色器来进行迭代和用作纹理坐标。

顶点着色器版本 1 _ 1 2 _ 0 2 _ 软件 2 _ x 3 _ 0 3 _ 软件
纹理坐标寄存器 x x x x

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

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

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

纹理坐标范围

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

对用于光栅化的顶点数据执行纹理坐标内插。 在光栅化期间,纹理坐标在对象顶点之间内插,由纹理包装修改,并按纹理大小缩放 (还考虑纹理地址模式) 以生成整数索引。 然后,索引用于执行纹理查找。 MaxTextureRepeat 可用于确定纹理可以平铺多少次。

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

顶点着色器寄存器