gather4_c (sm5 - asm)
Come gather4, ad eccezione di questa instruzione esegue il confronto su texel, simile a sample_c.
gather4_c[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler[.r], srcReferenceValue |
---|
Elemento | Descrizione |
---|---|
dest |
[in] Indirizzo del risultato dell'operazione |
srcAddress |
[in] Set di coordinate di trama. |
srcResource |
[in] Registro delle trame. |
srcSampler |
[in] Registro sampler. |
srcReferenceValue |
[in] Registro con un singolo componente selezionato, che viene usato nel confronto. |
Osservazioni
Per una descrizione del modo in cui srcReferenceValue viene confrontato con ogni texel recuperato, vedere sample_c. A differenza di sample_c, gather4_c restituisce ogni risultato di confronto, anziché filtrarli. L'ordine delle operazioni è srcReferenceValue {ComparisonFunction} texel.R
.
Per gli angoli di TextureCube, dove sono presenti tre texel reali e un quarto deve essere sintetizzato, la sintesi deve avvenire dopo il passaggio di confronto. Ciò significa che il risultato del confronto restituito per il texel sincronizzato può essere 0, 0,33 , 0,66 o 1. Alcune implementazioni possono restituire solo 0 o 1 per il texel sintetizzato. Oltre a questo elenco di risultati possibili, il metodo per la sintesi del texel non è specificato.
Per i formati con componenti float32, se il valore recuperato è normalizzato o +-INF, viene usato nell'operazione di confronto non toccato. NaN viene usato nell'operazione di confronto come NaN, ma è possibile modificare la rappresentazione di bit esatta del nome NaN. I denorm vengono scaricati su zero nel confronto. Per i TextureCube, alcune sintesi del texel mancante devono verificarsi agli angoli, quindi la nozione di restituzione di bit invariati per il texel sintetizzato non si applica.
I formati supportati per gather4_c sono uguali a quelli supportati per sample_c. Si tratta di formati a componente singolo, quindi . R su srcSampler, invece di uno swizzle arbitrario. gather4_c in una risorsa non associato restituisce 0.
Usare questa istruzione per il filtro personalizzato della mappa delle ombreggiature.
Questa istruzione si applica alle fasi seguenti dello shader:
Vertice | Scafo | Dominio | Geometria | Pixel | Calcolo |
---|---|---|---|---|---|
X | X | X | X | X | X |
Modello di shader minimo
Questa istruzione è supportata nei modelli di shader seguenti:
Modello di shader | Supportata |
---|---|
Modello shader 5 | yes |
Modello shader 4.1 | no |
Modello shader 4 | no |
Modello shader 3 (DirectX HLSL) | no |
Modello shader 2 (DirectX HLSL) | no |
Modello shader 1 (DirectX HLSL) | no |