Condividi tramite


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 di swizzled arbitrariamente i valori restituiti prima che vengano scritti nel 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 nel dest.

Osservazioni:

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 filtraggio vengono inseriti in xyzw in ordine antiorario a partire dall'esempio in basso a sinistra del percorso sottoposto a 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 sconosciuto è considerato la media dei tre angoli visi impingosi.

Le restrizioni relative al formato di trama applicabili alle istruzioni di esempio si applicano anche all'istruzione Gather4 .

Per le implementazioni hardware, le ottimizzazioni nel filtro bilineare tradizionale che rilevano campioni direttamente sui 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 seguenti dello shader:

Vertex Shader Shader di geometria Pixel Shader
x x x

Modello di shader minimo

Questa funzione è supportata nei modelli di shader seguenti.

Modello shader Sostenuto
modello shader 5
Modello shader 4.1
Modello Shader 4 No
Shader Model 3 (DirectX HLSL) No
Modello shader 2 (DirectX HLSL) No
Modello shader 1 (DirectX HLSL) No

assembly del modello 4 shader (DirectX HLSL)