deriv_rty (sm4 – asm)
Renderziel y Äquivalent zu deriv_rtx.
deriv_rty[_sat] dest[.mask], [-]src0[_abs][.swizzle], |
---|
Element | BESCHREIBUNG |
---|---|
Dest |
[in] Die Adresse des Ergebnisses des Vorgangs. |
src0 |
[in] Die Komponente im Vorgang. |
Bemerkungen
Für jeden 2x2-Pixelstempel wird nur ein einzelnes x,y-Ableitungspaar berechnet.
Dieser Vorgang ist hardwareabhängig.
Implementierung des Referenzrasters für Dreiecke:
- Pixel Shader führt Shader immer über 2 x 2 Quad von Pixeln im Sperrschritt aus (auch durch Flusssteuerung, Maskieren deaktivierter Pixel).
- Quads haben immer gerade nummerierte Pixelkoordinaten (x und y) für das obere linke Pixel.
- Dummy-Pixel werden primitiv ausgeführt, wenn primitiv zu klein ist, um ein 2x2-Quad zu füllen.
- deriv_rtx wird berechnet, indem zuerst 2 Pixel ausgewählt werden: das aktuelle Pixel und das andere Pixel mit der gleichen y-Koordinate aus dem Quad. Anschließend wird das Ergebnis berechnet wie folgt: src0(odd x pixel) - src0(even x pixel) [pro-komponente]
- deriv_rty wird berechnet, indem zuerst 2 Pixel ausgewählt werden: das aktuelle Pixel und das andere Pixel mit der gleichen x-Koordinate aus dem Quad. Anschließend wird das Ergebnis als berechnet: src0(ungerades y Pixel) - src0(sogar y Pixel) [pro Komponente]
Diese Anweisung gilt für die folgenden Shaderphasen:
Vertexshader | Geometrie-Shader | Pixelshader |
---|---|---|
x |
Minimales Shadermodell
Diese Funktion wird in den folgenden Shadermodellen unterstützt.
Shadermodell | Unterstützt |
---|---|
Shadermodell 5 | ja |
Shadermodell 4.1 | ja |
Shadermodell 4 | ja |
Shadermodell 3 (DirectX HLSL) | Nein |
Shadermodell 2 (DirectX HLSL) | Nein |
Shadermodell 1 (DirectX HLSL) | Nein |