Texturtyp
Verwenden Sie die folgende Syntax, um eine Texturvariable zu deklarieren.
| Typname; |
Parameter
| Element | BESCHREIBUNG |
|---|---|
| Typ |
Einer der folgenden Typen: Textur (aus Gründen der Abwärtskompatibilität nicht typed), Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, TextureCube. Die Elementgröße muss in 4 32-Bit-Mengen passen. |
| Namen |
Eine ASCII-Zeichenfolge, die den Variablennamen eindeutig identifiziert. |
Bemerkungen
Die Verwendung einer Textur besteht aus drei Teilen.
Deklarieren einer Texturvariablen. Dies erfolgt mit der oben gezeigten Syntax. Dies sind beispielsweise gültige Deklarationen.
texture g_MeshTexture;- oder -
Texture2D g_MeshTexture;Deklarieren und Initialisieren eines Samplerobjekts. Dies erfolgt mit etwas anderer Syntax in Direct3D 9 und Direct3D 10. Ausführliche Informationen zur Samplerobjektsyntax finden Sie unter Sampler-Typ (DirectX HLSL).
Aufrufen einer Texturfunktion in einem Shader.
Unterschiede zwischen Direct3D 9 und Direct3D 10:
Direct3D 9 verwendet systeminterne Texturfunktionen, um Texturvorgänge auszuführen. Dieses Beispiel stammt aus dem BasicHLSL-Beispiel und verwendet tex2D(s, t) (DirectX HLSL), um Textursampling durchzuführen.
Output.RGBColor = tex2D(MeshTextureSampler, In.TextureUV) * In.Diffuse;
Direct3D 10 verwendet stattdessen Texturobjekte mit Vorlagen. Hier ist ein Beispiel für den entsprechenden Texturvorgang.
Output.RGBColor = g_MeshTexture.Sample(MeshTextureSampler, In.TextureUV) * In.Diffuse;