tex2D (HLSL-Referenz): Wählen Sie die MIP-Ebene aus.

Beispiel für eine 2D-Textur mithilfe eines Farbverlaufs zum Auswählen der MIP-Ebene.

ret tex2D(s, t, ddx, ddy)

Parameter

Element Beschreibung
s
[in] Der Samplerzustand.
T
[in] Die Texturkoordinaten.
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 sampler2D 1
t in Vektor schweben 2
Ddx in Vektor schweben 2
ddy in Vektor schweben 2
Ret out Vektor float 4

Minimales Shadermodell

Diese Funktion wird in den folgenden Shadermodellen unterstützt.

Shadermodell Unterstützt
Shadermodell 4 ja (nur Pixel-Shader)
Shadermodell 3 (DirectX HLSL) ja (nur Pixel-Shader)
Shadermodell 2 (DirectX HLSL) ja (nur Pixel-Shader)
Shadermodell 1 (DirectX HLSL) Nein
  1. Die Codeanordnung wird erheblich neu sortiert, 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 angegebenen Branchpfads angefordert wird, mehrdeutig, wenn benachbarte Pixel separate Flusssteuerungspfade nach unten gehen können. Daher gilt es als unzulässig, jeden Pixel-Shader-Vorgang zu verwenden, der eine Farbverlaufsberechnung an einer Stelle anfordert, die sich in einem Flusssteuerungskonstrukt befindet, das für ein bestimmtes Grundelement, das gerastert wird, pixelübergreifend variieren kann. Wenn eine Seite einer if-Anweisung mit dem Branch-Attribut eine Gradientenfunktion verwendet, kann ein Compilerfehler generiert werden. Siehe if-Anweisung (DirectX HLSL).

Siehe auch

Systeminterne Funktionen (DirectX HLSL)