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
Modello shader 4.1
Modello shader 4 no
Modello shader 3 (DirectX HLSL) no
Modello shader 2 (DirectX HLSL) no
Modello shader 1 (DirectX HLSL) no

Assembly del modello shader 4 (DirectX HLSL)