Texturtyp
Verwenden Sie die folgende Syntax, um eine Texturvariable zu deklarieren.
Geben Sie Name ein; |
Parameter
Element | BESCHREIBUNG |
---|---|
Typ |
Einer der folgenden Typen: Textur (aus Gründen der Abwärtskompatibilität nicht typisiert), 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 einer etwas anderen Syntax in Direct3D 9 und Direct3D 10. Ausführliche Informationen zur Syntax des Samplers finden Sie unter Sampler Type (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 sehen Sie ein Beispiel für die entsprechende Texturoperation.
Output.RGBColor = g_MeshTexture.Sample(MeshTextureSampler, In.TextureUV) * In.Diffuse;