Freigeben über


tex3Dgrad

Beispiele für eine 3D-Textur mit einem Farbverlauf, um die Mip-Ebene auszuwählen.

ret tex3Dgrad(s, t, ddx, ddy)

Parameter

Element BESCHREIBUNG
s
[in] Der Samplerzustand.
T
[in] Die Texturkoordinate.
Ddx
[in] Änderungsrate der Oberflächengeometrie in x-Richtung.
ddy
[in] Änderungsrate der Oberflächengeometrie in y-Richtung.

Rückgabewert

Der Wert der Texturdaten.

Typbeschreibung

Name Ein/Aus Vorlagentyp Komponententyp Size
s in Objekt sampler3D 1
t in Vektor schweben 3
Ddx in Vektor schweben 3
ddy in Vektor schweben 3
Ret out Vektor float 4

Minimales Shadermodell

Diese Funktion wird in den folgenden Shadermodellen unterstützt.

Shadermodell Unterstützt
Shadermodell 4 ja (nur Pixelshader)
Shadermodell 3 (DirectX HLSL) ja (nur Pixelshader)
Shadermodell 2 (DirectX HLSL) ja (nur Pixelshader)
Shadermodell 1 (DirectX HLSL) Nein
  1. Die Codeanordnung wird erheblich neu angeordnet, um Farbverlaufsberechnungen außerhalb der Flusssteuerung zu verschieben.
  2. Wenn die D3DPSHADERCAPS2_0-Obergrenze mit D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS festgelegt ist, ordnet der Compiler diese Funktion texldd zu.

Bemerkungen

Wenn die Flusssteuerung in einem Shader vorhanden ist, ist das Ergebnis einer Farbverlaufsberechnung, die innerhalb eines bestimmten Verzweigungspfads angefordert wird, mehrdeutig, wenn benachbarte Pixel separate Flusssteuerungspfade nach unten gehen können. Daher gilt es als unzulässig, einen Pixelshadervorgang zu verwenden, der eine Farbverlaufsberechnung an einer Stelle anfordert, die sich innerhalb eines Flusssteuerungskonstrukts befindet, das für einen bestimmten Grundtyp, der gerastert wird, pixelübergreifend variieren kann. Wenn eine Seite einer if-Anweisung mit dem Branch-Attribut eine Gradientenfunktion verwendet, kann ein Compilerfehler generiert werden. Weitere Informationen finden Sie unter if-Anweisung (DirectX HLSL).

Siehe auch

Systeminterne Funktionen (DirectX HLSL)