來源暫存器 (HLSL PS 參考)
雜亂是指將任何來源暫存器元件複製到任何暫存暫存器元件的能力。 雜亂不會影響源暫存器資料。 在指令執行之前,源暫存器中的資料會複製到暫存暫存器。
來源擷取
來源 swizzle 可讓來源暫存器的個別元件接受相同來源暫存器之四個元件中的任何一個值,然後再讀取暫存器以進行計算。
例如,.zxxy swizzle 表示:
- .x 元件將採用 .z 元件的值
- .y 元件將採用 .x 元件的值
- .z 元件將採用 .x 元件的值
- .w 元件將採用 .y 元件的值
元件可以依任何順序顯示。 如果指定了少於四個元件,則會重複最後一個元件。 例如:
.xy = .xyyy
.wzx = .wzxx
.z = .zzzz
如果未指定任何元件,則不會套用任何雜亂。
某些指示有來源wizzle 的限制。 它們會列在遵守的指示參考頁面中。
圖元著色器版本 | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
.x | x | x | x | x | x | x | |||
。Y | x | x | x | x | x | x | |||
。Z | x* | x* | x* | x | x | x | x | x | x |
.w | x | x | x | x | x | x | x | x | x |
.xyzw (預設) | x | x | x | x | x | x | x | x | x |
.yzxw | x | x | x | x | x | ||||
.zxyw | x | x | x | x | x | ||||
.wzyx | x | x | x | x | x | ||||
任意的虛線 | x | x | x | x |
* 只有在目的地寫入遮罩為 .w (.a) 時才可使用。
任意 Swizzle
Swizzles 可以任意順序套用至來源暫存器;也就是說,任何來源暫存器都可以依任何順序接受任何元件遮罩。
複寫 Swizzle
複寫 swizzle 會將一個元件複製到另一個元件。 這是必須指定其中一個 .x、.y、.z、.w swizzle 元件 (或 .r、.g、.b、.a 對等專案) 。
相關主題