Condividi tramite


Registro temporaneo (riferimento HLSL VS)

Un registro temporaneo del vertex shader viene usato per contenere i risultati intermedi.

Prima di usarlo, è necessario inizializzare un registro temporaneo. Ogni registro temporaneo ha accesso in scrittura singola e in lettura triplo. Ciò significa che una singola istruzione shader può usare fino a tre registri temporanei come input.

Non è possibile utilizzare i valori in un registro temporaneo che rimangono dalle chiamate precedenti del vertex shader.

Un registro è costituito da proprietà che determinano il comportamento di ogni registro.

Proprietà Descrizione
Nome r[n]. n è un numero di registro facoltativo. Il valore predefinito è 0 ed è il valore usato se non viene specificato alcun valore.
Contare Un massimo di 12 registri.
Autorizzazioni di I/O Lettura/scrittura. Questo registro può essere letto o scritto dall'API o dallo shader.
Porte di lettura Il numero di volte in cui un registro può essere letto all'interno di una singola istruzione è 3. Un registro temporaneo è l'unico registro che può essere letto e scritto più volte in un'unica istruzione.

 

Ogni registro temporaneo ha accesso in scrittura singola e in lettura triplo. Pertanto, un'istruzione può avere fino a tre registri temporanei nel set di operandi di origine di input.

Non è possibile usare valori in un registro temporaneo che rimangono dalle chiamate precedenti del vertex shader. I vertex shader che leggono un valore da un registro temporaneo prima della scrittura non riusciranno a chiamare l'API Direct3D per creare il vertex shader.

Esempio

Di seguito è riportato un esempio di uso di un registro temporaneo:

def c4, 0,0,0,1
...
// Decompress position
mov r0.x, v0.x
mov r0.y, c4.w       // 1
mov r0.z, v0.y
mov r0.w, c4.w       // 1

// Compute theta from distance and time
mov r4.xz, r0        // xz
Versioni del vertex shader 1_1 2_0 2_sw 2_x 3_0 3_sw
Registro temporaneo x x x x x x

 

registri vertex shader