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
Modello shader 4.1
Modello shader 4
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)