gather4 (sm4.1 - asm)
Raccoglie i quattro texel che verrebbero usati in un'operazione di filtro bi lineare e li inserisce in un unico registro.
gather4[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler.r |
---|
Elemento | Descrizione |
---|---|
Dest |
[in] Indirizzo del risultato dell'operazione. |
srcAddress |
[in] Contiene le coordinate della trama. |
srcResource |
[in] Registro delle risorse. Lo swizzle consente ai valori restituiti di essere swizzled arbitrariamente prima che vengano scritti in dest. |
srcSampler |
[in] Registro sampler. Questo parametro deve avere uno swizzle con estensione r (rosso), che indica che il valore del canale R viene copiato in dest. |
Commenti
Questa operazione funziona solo con trame 2D o CubeMap a canale singolo. Per le trame 2D vengono usate solo le modalità di indirizzamento del campionatore e viene usato il livello superiore di qualsiasi piramide mip.
Questa istruzione si comporta come l'istruzione di esempio , ma non viene generato un esempio filtrato. I quattro esempi che contribuiscono al filtro vengono inseriti in xyzw in ordine antiorario a partire dall'esempio a sinistra inferiore della posizione in cui viene eseguita la query. Corrisponde al campionamento dei punti con i delta delle coordinate delle trame (u,v) nelle posizioni seguenti: (-,+),(+,+),(+,-),(-,-), dove la grandezza dei delta è sempre metà di un texel.
Per le trame CubeMap quando viene usato un footprint bi-lineare che si estende su un texel perimetrale dal viso adiacente. Gli angoli usano le stesse regole dell'istruzione di esempio ; che è l'angolo incorrito è considerato la media dei tre angoli del viso impingoso.
Le restrizioni relative al formato della trama che si applicano alle istruzioni di esempio si applicano anche all'istruzione Gather4 .
Per le implementazioni hardware, le ottimizzazioni nel filtro bilineare tradizionale che rilevano campioni direttamente su texel e ignorano la lettura di texel con peso 0 non possono essere sfruttate con gather4. gather4 restituisce sempre tutti i texel richiesti.
Questa istruzione si applica alle fasi dello shader seguenti:
Vertex shader | Geometry shader | Pixel shader |
---|---|---|
x | x | x |
Modello minimo shader
Questa funzione è supportata nei modelli di shader seguenti.
Modello di shader | Supportato |
---|---|
Modello shader 5 | sì |
Modello shader 4.1 | sì |
Modello shader 4 | no |
Modello shader 3 (DirectX HLSL) | no |
Modello shader 2 (DirectX HLSL) | no |
Modello shader 1 (DirectX HLSL) | no |