deriv_rtx (sm4 - asm)

Frequenza di modifica del contenuto di ogni componente float32 di src0 (post-swizzle), in relazione alla direzione renderTarget x (rtx) o renderTarget y.

deriv_rtx[_sat] dest[.mask], ^src0[_abs][.swizzle],
Elemento Descrizione
Dest
[in] Indirizzo del risultato dell'operazione.
src0
[in] Componente nell'operazione.

Commenti

Viene calcolata solo una singola coppia derivata x,y per ogni stamp 2x2 di pixel.

Questa operazione dipende dall'hardware.

Implementazione di rasterizzatore di riferimento per i triangoli:

  • Pixel Shader esegue sempre shader su 2x2 quad di pixel nel passaggio di blocco (anche tramite il controllo del flusso, mascherando i pixel disabilitati).
  • I quad hanno sempre coordinate pixel numerate pari (sia x che y) per il pixel superiore sinistro.
  • I pixel fittizi vengono eseguiti fuori primitiva se la primitiva è troppo piccola per riempire un quad 2x2.
  • deriv_rtx viene calcolato scegliendo prima 2 pixel: il pixel corrente e l'altro pixel con la stessa coordinata y dal quad. Il risultato viene quindi calcolato come: src0(odd x pixel) - src0(pari x pixel) [per componente]
  • deriv_rty viene calcolato scegliendo prima 2 pixel: il pixel corrente e l'altro pixel con la stessa coordinata x dal quad. Il risultato viene quindi calcolato come: src0(oddy pixel) - src0(pari a y pixel) [per componente]

Questa istruzione si applica alle fasi dello shader seguenti:

Vertex shader Geometry shader Pixel shader
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)