tex2D (HLSL-Referenz): Wählen Sie die MIP-Ebene aus.
Probieren Sie eine 2D-Textur mithilfe eines Farbverlaufs aus, um die Mipebene auszuwählen.
| ret tex2D(s, t, ddx, ddy) |
|---|
Parameter
| Element | BESCHREIBUNG |
|---|---|
| s |
[im ] 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 |
Shader-Mindestmodell
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 |
- Umfangreiche Neuanordnung von Code erfolgt, um Gradientenberechnungen außerhalb der Flusssteuerung zu verschieben.
- Wenn die Obergrenze D3DPSHADERCAPS2 _ 0 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 Gradientenberechnung, die innerhalb eines bestimmten Branchpfads angefordert wird, mehrdeutig, wenn benachbarte Pixel separate Flusssteuerungspfade nach unten gehen können. Daher wird es als unzulässig angesehen, einen Pixelshadervorgang zu verwenden, der anfordert, dass eine Farbverlaufsberechnung an einer Position innerhalb eines Flusssteuerungskonstrukts durchgeführt wird, die für ein bestimmtes Primitive, das gerastert wird, pixelübergreifend variieren kann. Wenn auf beiden Seiten einer if-Anweisung mit dem Branchattribut eine Farbverlaufsfunktion verwendet wird, kann ein Compilerfehler generiert werden. Siehe if-Anweisung (DirectX HLSL).