纹理坐标寄存器 (HLSL VS 参考)

此顶点着色器输出寄存器包含每个顶点纹理坐标。

寄存器由确定每个寄存器的行为方式的属性组成。

属性 说明
名称 oT0 - oT7
Count 八个向量
I/O 权限 只写

 

输出纹理坐标寄存器是输出数据寄存器的数组。 纹理采样阶段循环访问寄存器数据并将其用作纹理坐标,以便向像素着色器提供数据。

写入纹理坐标寄存器时,建议仅传递与相应纹理贴图的维度一样多的浮点值。 控制使用修饰符传递的值。 例如,对 2D 纹理贴图使用 .xy。

如果使用可编程顶点着色器,应将固定函数顶点管道标志 D3DTEXTURETRANSFORMFLAGS (D3DTTFF_COUNT1、D3DTTFF_COUNT2、D3DTTFF_COUNT3 D3DTTFF_COUNT4) 设置为零。

对象顶点数据提供输入纹理坐标。 不使用平铺纹理的对象通常具有 [0,1] 范围内的纹理坐标。 使用平铺纹理的对象(如地形)的纹理坐标通常范围为 [-n,+n],其中 n 可以是任何浮点数。

纹理坐标内插对顶点数据执行光栅化。 在光栅化期间,纹理坐标在对象顶点之间内插,通过纹理环绕进行修改,并按纹理大小缩放 (同时考虑纹理寻址模式,) 生成整数索引。 然后,该索引用于执行纹理查找。 使用 D3DCAPS9 中的 MaxTextureRepeat 值确定纹理可以平铺的次数。

示例

声明纹理坐标寄存器。

dcl_texcoord v7

将每个顶点纹理坐标复制到输出寄存器。

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

 

顶点着色器寄存器