源寄存器重排 (HLSL VS 参考)
在指令运行之前,源寄存器中的数据将复制到临时寄存器。 重排是指将任何源寄存器组件复制到任何临时寄存器组件的功能。 重排不会影响源寄存器数据。
组件重排
如下表所示,重排可应用于源寄存器数据的各个组件 (其中 是有效的顶点着色器输入寄存器之一 - vs_1_1) 。
组件修饰符 | 说明 |
---|---|
r.[xyzw][xyzw][xyzw][xyzw] | 源重排 |
- 始终复制所有四个组件。 如果指定的分量少于四个,则重复最后一个分量 (xyy 表示 .xyyy) 。 如果未指定任何组件,则) (.xxxx 重复 x。
- 组件可以按任意顺序显示。 v0.ywx 生成 v0.ywxx。
- rgba 分量可以分别用于 xyzw (r for x、g for b 等) 。
- 这些指令实现源寄存器单组件重排:exp、expp、logp、pow、rcp、rsq。 这些指令的结果将复制到所有四个目标寄存器组件。
重排不能用于 m3x2 - vs、 m3x3 - vs、 m4x3 - vs 和 m4x4 - vs 指令。
相关主题