deriv_rtx (sm4 - asm)
Änderungsrate der Inhalte jeder float32-Komponente von src0 (post-swizzle), in Bezug auf RenderTarget x-Richtung (rtx) oder RenderTarget y-Richtung.
deriv_rtx[_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 Stempel von 2x2 Pixeln wird nur ein einzelnes x y-Ableitungspaar berechnet.
Dieser Vorgang ist hardwareabhängig.
Referenzrasterisierungsimplementierung für Dreiecke:
- Der Pixel-Shader führt shader immer über 2 x 2 Quads von Pixeln im Sperrschritt aus (auch über Die Flusssteuerung, Maskierung deaktivierter Pixel).
- Quads haben immer gerade nummerierte Pixelkoordinaten (sowohl x als auch y) für das pixel oben links.
- Dummypixel laufen primitiv aus, wenn primitive 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 derselben y-Koordinate aus dem Quad. Anschließend wird das Ergebnis wie folgt berechnet: src0(ungerades 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 derselben x-Koordinate aus dem Quad. Anschließend wird das Ergebnis wie folgt berechnet: src0(ungerades y Pixel) - src0(even 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 |