Freigeben über


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.

  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 einer etwas anderen Syntax in Direct3D 9 und Direct3D 10. Ausführliche Informationen zur Syntax des Samplers finden Sie unter Sampler Type (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 sehen Sie ein Beispiel für die entsprechende Texturoperation.

Output.RGBColor = g_MeshTexture.Sample(MeshTextureSampler, In.TextureUV) * In.Diffuse;

Siehe auch

Datentypen (DirectX HLSL)