Freigeben über


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

Assembly des Shadermodells 4 (DirectX HLSL)