ソース レジスタ スウィズリング (HLSL VS リファレンス)
命令が実行される前に、ソース レジスタ内のデータが一時レジスタにコピーされます。 Swizzling は、ソース レジスタ コンポーネントを一時レジスタ コンポーネントにコピーする機能を指します。 Swizzling はソース レジスタ データには影響しません。
コンポーネントのスウィズリング
次の表に示すように、ソース レジスタ データの個々のコンポーネントに swizzling を適用できます (ここで、 は有効な頂点シェーダー入力 Registers - vs_1_1 のいずれかです)。
コンポーネント修飾子 | 説明 |
---|---|
r.[xyzw][xyzw][xyzw][xyzw] | ソース スウィズル |
- 4 つのコンポーネントはすべて常にコピーされます。 4 つ未満のコンポーネントを指定すると、最後のコンポーネントが繰り返されます (xy は .xyyy を意味します)。 コンポーネントが指定されていない場合、x は繰り返されます (.xxxx)。
- コンポーネントは任意の順序で表示できます。 v0.ywx は v0.ywxx になります。
- rgba コンポーネントは、xyzw にそれぞれ使用できます (x の場合は r、b の場合は g など)。
- これらの手順では、ソース レジスタの単一コンポーネント swizzles(exp、expp、log、logp、pow、rcp、rsq) を実装します。 これらの手順の結果は、4 つの宛先レジスタ コンポーネントすべてにコピーされます。
swizzling は、m3x2 - vs、m3x3 - vs、m4x3 - vs、m4x4 - vs 命令では使用できません。
関連トピック