源注册重排 (HLSL VS 参考)

在指令运行之前,源寄存器中的数据将复制到临时寄存器。 重排是指将任何源寄存器组件复制到任何临时注册组件的功能。 重排不会影响源寄存器数据。

组件重排

如下表所示,可向源寄存器数据的各个组件应用重排, (其中是有效顶点着色器输入寄存器之一 - vs_1_1) 。

组件修饰符 说明
r.[xyzw][xyzw][xyzw][xyzw] 源重排

 

  • 始终复制所有四个组件。 如果指定了少于四个组件,则最后一个组件重复 (xy 表示 .xyyy) 。 如果未指定任何组件,则会重复 x (.xxxx) 。
  • 组件可以按任意顺序显示。 v0.ywx 导致 v0.ywxx。
  • rgba 组件分别可用于 x for x、g for b 等的 xyzw (r ) 。
  • 这些说明实现源寄存器单组件重排:exp、expp、logp、pow、rcp、rsq。 这些指令的结果将复制到所有四个目标寄存器组件。

不能在 m3x2 - vsm3x3 - vsm4x3 - vsm4x4 - 指令 上使用重排。

顶点着色器寄存器修饰符