Load (DirectX HLSL Texture Object)

Liest texel-Daten ohne Filterung oder Sampling.

ret-Objekt.Load(
typeX-Speicherort,
[typeX SampleIndex, ]
[typeX Offset ]
);

typeX gibt an, dass es vier mögliche Typen gibt: int, int2, int3 oder int4.

 

Parameter

Objekt

Ein Texturobjekttyp (außer TextureCube oder TextureCubeArray).

Lage

[in] Die Texturkoordinaten; die letzte Komponente gibt die mipmap-Ebene an. Diese Methode verwendet ein 0-basiertes Koordinatensystem und kein 0,0-1.0 UV-System. Der Argumenttyp hängt vom Texturobjekttyp ab.

Objekttyp Parametertyp
Buffer INT
Texture1D, Texture2DMS int2
Texture1DArray, Texture2D, Texture2DMSArray int3
Texture2DArray, Texture3D int4

 

Um beispielsweise auf eine 2D-Textur zuzugreifen, geben Sie UV-Koordinaten für die ersten beiden Komponenten und eine Mipmap-Ebene für die dritte Komponente an.

Hinweis

Wenn eine oder mehrere der Koordinaten an der Position die Abmessungen der Größe "u", "v" oder "w w mipmap" der Textur überschreiten, gibt Load null in allen Komponenten zurück. Direct3D garantiert, dass null für jede Ressource zurückgegeben wird, auf die außerhalb von Grenzen zugegriffen wird.

 

SampleIndex

[in] Ein Stichprobenindex. Erforderlich für mehrbeispielige Texturen. Für andere Texturen wird nicht unterstützt.

Texturtyp Parametertyp
Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, Texture2DArray, TextureCube, TextureCubeArray Nicht unterstützt
Texture2DMS, Texture2DMSArray¹ INT

Offset

[in] Ein optionaler Offset, der vor der Stichprobe auf die Texturkoordinaten angewendet wird. Der Offsettyp ist abhängig vom Texturobjekttyp und muss statisch sein.

Texturtyp Parametertyp
Texture1D, Texture1DArray INT
Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray int2
Texture3D int3

 

Hinweis

SampleIndex muss immer zuerst mit mehrbeispieligen Texturen angegeben werden.

 

Rückgabewert

Der Rückgabetyp entspricht dem Typ in der Objektdeklaration . Beispielsweise hat ein Texture2D-Objekt, das als "Texture2duint4<> myTexture;" deklariert wurde, einen Rückgabewert des Typs uint4.

Mindest-Shadermodell

Diese Funktion wird in den folgenden Shadermodellen unterstützt.

vs_4_0 vs_4_1¹ ps_4_0 ps_4_1¹ gs_4_0 gs_4_1¹
x x x x x x

 

  • ShaderModell 4.1 ist in Direct3D 10.1 oder höher verfügbar.

Beispiel

Dieses Teilcodebeispiel stammt aus der Datei Paint.fx im AdvancedParticles-Beispiel.

// Object Declarations
Buffer<float4> g_ParticleBuffer;

// Shader body calling the intrinsic function
float4 PSPaint(PSQuadIn input) : SV_Target
{       
    ... 
    for( int i=g_ParticleStart; i<g_NumParticles; i+=g_ParticleStep )
    {
        ... 
        // load the particle
        float4 particlePos = g_ParticleBuffer.Load( i*4 );
        float4 particleColor = g_ParticleBuffer.Load( (i*4) + 2 );
        ...     
    }
    ...
}   

Texture-Objekt