Freigeben über


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

Shadermodell 4-Assembly (DirectX HLSL)