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 | 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 |