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.

  1. Deklarieren einer Texturvariablen. Dies erfolgt mit der oben gezeigten Syntax. Dies sind beispielsweise gültige Deklarationen.

    texture g_MeshTexture;
    

    - oder -

    Texture2D g_MeshTexture;
    
  2. 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).

  3. 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;

Weitere Informationen

Datentypen (DirectX HLSL)