來源快取器閃爍 (HLSL PS 參考)
Swizzling 是指將任何來源緩存器元件複製到任何暫存緩存器元件的能力。 Swizzling 不會影響來源緩存器數據。 執行指令之前,來源緩存器中的數據會複製到暫存緩存器。
來源閃爍
來源 swizzle 可讓來源緩存器中的個別元件在讀取緩存器以進行計算之前,接受相同來源緩存器四個元件中的任何一個值。
例如,.zxxy swizzle 表示:
- .x 元件將接受 .z 元件的值
- .y 元件將接受 .x 元件的值
- .z 元件將接受 .x 元件的值
- .w 元件將接受 .y 元件的值
元件可以依任何順序顯示。 如果指定了少於四個元件,則會重複最後一個元件。 例如:
.xy = .xyyy
.wzx = .wzxx
.z = .zzzz
如果未指定任何元件,則不會套用任何閃爍。
某些指示有來源旋轉的限制。 它們會列在所遵守的指示參考頁面中。
圖元著色器版本 | 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 對等專案)。
相關主題