tex3D (HLSL-Referenz): Wählen Sie die MIP-Ebene aus.
Probieren Sie eine 3D-Textur mithilfe eines Farbverlaufs aus, um die Mipebene auszuwählen.
| ret tex3D(s, t, ddx, ddy) |
|---|
Parameter
| Element | Beschreibung |
|---|---|
| s |
[im ] 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 |
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 Verzweigungspfads angefordert wird, mehrdeutig, wenn benachbarte Pixel separate Flusssteuerungspfade durchlaufen können. Daher wird die Verwendung eines Pixelshadervorgangs als unzulässig angesehen, 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).