顶点着色器输入寄存器。
每个顶点(使用一个或多个输入顶点流)的数据将加载到顶点输入寄存器中,然后运行顶点着色器。 输入寄存器由 16 个四分量的浮点向量组成,指定为 v0 到 v15。 这些寄存器是只读的。 输入寄存器通过顶点声明绑定到顶点数据。
以下寄存器属性控制每个寄存器的行为方式:
财产 | 描述 |
---|---|
名字 | v[n] - n 是可选的寄存器号。 0 是使用的默认值(如果省略)。 |
计数 | 最多 16 个寄存器,v0 - v15。 |
I/O 权限 | 只读。 此寄存器不能由 API 或着色器编写。 |
读取端口 | 1.这是可以在单个指令中读取寄存器的次数。 请参阅下文。 |
任何单个指令只能访问一个顶点输入寄存器。 但是,指令中的每个源都可以在读取时独立重排并否定该向量。
例
下面是使用顶点声明绑定 2D 顶点位置数据以注册 v0 的示例。
顶点声明属于应用程序:
D3DVERTEXELEMENT9 decl[] =
{
{ 0, 0, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
D3DDECL_END()
};
下面是相应的顶点着色器声明:
dcl_position v0
顶点着色器版本 | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
位置寄存器 | x | x | x | x | x | x |
相关主题