sample_d (sm4 - asm)
Campiona i dati dell'elemento/trama specificati usando l'indirizzo specificato e la modalità di filtro identificata dal campionatore specificato.
sample_d[_aoffimmi(u,v,w)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler, srcXDerivatives[.swizzle], srcYDerivatives[.swizzle] |
---|
Elemento | Descrizione |
---|---|
Dest |
[in] Indirizzo dei risultati dell'operazione. |
srcAddress |
[in] Set di coordinate della trama. Per altre informazioni, vedere l'istruzione di esempio . |
srcResource |
[in] Registro delle trame. Per altre informazioni, vedere l'istruzione di esempio . |
srcSampler |
[in] Registro sampler. Per altre informazioni, vedere l'istruzione di esempio . |
srcXDerivatives |
[in] Derivati per l'indirizzo di origine nella direzione x. Per altre informazioni, vedere la sezione Osservazioni . |
srcYDerivatives |
[in] Derivati per l'indirizzo di origine nella direzione y. Per altre informazioni, vedere la sezione Osservazioni . |
Commenti
Questa istruzione si comporta come l'istruzione di esempio , ad eccezione del fatto che i derivati per l'indirizzo di origine nella direzione x e la direzione y vengono forniti rispettivamente da parametri aggiuntivi, srcXDerivatives e srcYDerivatives. Questi derivati si trovano nello spazio delle coordinate della trama normalizzato.
I componenti r, g e b di srcXDerivatives (POS-swizzle) forniscono du/dx, dv/dx e dw/dx. Il componente "a" (POS-swizzle) viene ignorato.
I componenti r, g e b di srcYDerivatives (POS-swizzle) forniscono du/dy, dv/dy e dw/dy. Il componente "a" (POS-swizzle) viene ignorato.
A differenza dell'istruzione di esempio , che consente di condividere un singolo calcolo LOD in un timbro 2x2, sample_d deve calcolare loD completamente indipendentemente, per pixel quando usato in Pixel Shader.
Se gli input derivati da sample_d provengono da istruzioni di calcolo derivate in Pixel Shader e i valori includono INF/NaN, il comportamento di sample_d potrebbe non corrispondere all'istruzione di esempio , che calcola in modo implicito il derivato. I valori INF/NaN possono influire in modo diverso sul calcolo LOD.
Il recupero da uno slot di input a cui non è associato alcun valore restituisce 0 per tutti i componenti.
Restrizioni
- sample_d eredita le stesse restrizioni dell'istruzione di esempio , oltre a una restrizione aggiuntiva riportata di seguito per i relativi parametri aggiuntivi.
- srcXDerivatives e srcYDerivatives devono essere temp (r#/x#), constantBuffer (cb#), input (v#) registri o valori immediati.
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 | sì |
Modello shader 3 (DirectX HLSL) | no |
Modello shader 2 (DirectX HLSL) | no |
Modello shader 1 (DirectX HLSL) | no |