m4x4 - vs
Moltiplica un vettore a 4 componenti per una matrice 4x4.
Sintassi
m4x4 dst, src0, src1 |
---|
dove
- dst è il registro di destinazione. Risultato è un vettore a 4 componenti.
- src0 è un registro di origine che rappresenta un vettore a 4 componenti.
- src1 è un registro di origine che rappresenta una matrice 4x4, che corrisponde alla prima di 4 registri consecutivi.
Commenti
Versioni del vertex shader | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
m4x4 | x | x | x | x | x | x |
Per il registro di destinazione è necessaria la maschera xyzw (impostazione predefinita). Nega e modificatori swizzle sono consentiti per src0, ma non per src1.
Swizzle e nega i modificatori non sono validi per il registro src0. I registri dest e src0 non possono essere uguali.
Il frammento di codice seguente mostra le operazioni eseguite.
dest.x = (src0.x * src1.x) + (src0.y * src1.y) + (src0.z * src1.z) +
(src0.w * src1.w);
dest.y = (src0.x * src2.x) + (src0.y * src2.y) + (src0.z * src2.z) +
(src0.w * src2.w);
dest.z = (src0.x * src3.x) + (src0.y * src3.y) + (src0.z * src3.z) +
(src0.w * src3.w);
dest.w = (src0.x * src4.x) + (src0.y * src4.y) + (src0.z * src4.z) +
(src0.w * src4.w);
Il vettore di input si trova nel registro src0. La matrice di input 4x4 si trova nel registro src1 e le successive tre registri superiori, come illustrato nell'espansione seguente.
Questa operazione viene comunemente usata per trasformare una posizione da una matrice di proiezione. Questa istruzione viene implementata come serie di prodotti dot, come illustrato qui.
m4x4 r0.xyzw, r1, c0 will be expanded to:
dp4 r0.x, r1, c0
dp4 r0.y, r1, c1
dp4 r0.z, r1, c2
dp4 r0.w, r1, c3
Argomenti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per