Source Register Swizzling (referensi HLSL VS)

Sebelum instruksi berjalan, data dalam register sumber disalin ke register sementara. Swizzling mengacu pada kemampuan untuk menyalin komponen register sumber apa pun ke komponen register sementara. Penyimpangan tidak memengaruhi data register sumber.

Komponen Menggeliat

Seperti yang ditunjukkan dalam tabel berikut, menggeliat dapat diterapkan ke komponen individual dari data register sumber (di mana adalah salah satu input shader vertex yang valid Registers - vs_1_1).

Pengubah komponen Deskripsi
r.[xyzw][xyzw][xyzw][xyzw] Swizzle sumber

 

  • Keempat komponen selalu disalin. Jika kurang dari empat komponen ditentukan, komponen terakhir diulang (xy berarti .xyyy). Jika tidak ada komponen yang ditentukan, x diulang (.xxxx).
  • Komponen dapat muncul dalam urutan apa pun. v0.ywx menghasilkan v0.ywxx.
  • Komponen rgba masing-masing dapat digunakan untuk xyzw (r untuk x, g untuk b, dll.).
  • Instruksi ini mengimplementasikan swizzle komponen tunggal source-register: exp, expp, log, logp, pow, rcp, rsq. Hasil dari instruksi ini disalin ke keempat komponen register tujuan.

Swizzling tidak dapat digunakan pada m3x2 - vs, m3x3 - vs, m4x3 - vs, dan m4x4 - vs instruksi.

Vertex Shader Register Modifiers