Texturtyp

Verwenden Sie die folgende Syntax, um eine Texturvariable zu deklarieren.

Typname;

Parameter

Element BESCHREIBUNG
Typ
Eine der folgenden Typen: Textur (nicht typiert, für Abwärtskompatibilität), Texture1D, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, Texture3D, TextureCube. Die Elementgröße muss in 4 32-Bit-Mengen passen.
Namen
Eine ASCII-Zeichenfolge, die den Variablennamen eindeutig identifiziert.

Bemerkungen

Es gibt drei Teile, um eine Textur zu verwenden.

  1. Deklarieren einer Texturvariable. Dies erfolgt mit der oben gezeigten Syntax. Beispielsweise sind diese gültigen Deklarationen.

    texture g_MeshTexture;
    

    - oder -

    Texture2D g_MeshTexture;
    
  2. Deklarieren und Initialisieren eines Samplerobjekts. Dies erfolgt mit leicht unterschiedlicher Syntax in Direct3D 9 und Direct3D 10. Ausführliche Informationen zur Syntax des Samplerobjekts finden Sie unter SamplerTyp (DirectX HLSL).

  3. Aufrufen einer Texturfunktion in einem Shader.

Unterschiede zwischen Direct3D 9 und Direct3D 10:

Direct3D 9 verwendet systemeigene Texturfunktionen , um Texturvorgänge auszuführen. In diesem Beispiel handelt es sich um das BasicHLSL-Beispielund verwendet tex2D(s, t) (DirectX HLSL) zum Ausführen von Texturbeispielen.

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

Direct3D 10 verwendet stattdessen vorlagenbasierte Texturobjekte . Nachfolgend sehen Sie ein Beispiel für den entsprechenden Texturvorgang.

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

Siehe auch

Datentypen (DirectX HLSL)