deriv_rty (sm4 - asm)

Rendering-target equivalente di deriv_rtx.

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

Commenti

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

Questa operazione dipende dall'hardware.

Implementazione del rasterizzatore di riferimento per i triangoli:

  • Pixel Shader esegue sempre Shader su 2x2 quad di pixel in lockstep (anche tramite il controllo flusso, mascherando i pixel disabilitati).
  • I quad hanno sempre coordinate pixel numerate (sia x che y) per pixel in alto a sinistra.
  • I pixel fittizi vengono eseguiti fuori dalla 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(anche 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(y pixel dispari) - src0(anche y pixel) [per componente]

Questa istruzione si applica alle fasi dello shader seguenti:

Vertex shader Geometry shader Pixel shader
x

Modello di shader minimo

Questa funzione è supportata nei modelli 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

Shader Model 4 Assembly (DirectX HLSL)