SampleLevel (DirectX HLSL-Texturobjekt)

Stichproben einer Textur mithilfe eines Offsets auf Mipmapebene.

<Vorlagentyp > Object.SampleLevel( _ Samplerzustand S, float Location, float [ LOD, int Offset ] );

Diese Funktion ähnelt Sample, verwendet jedoch die LOD-Ebene (in der letzten Komponente des Location-Parameters), um die Mipmapebene zu wählen. Beispielsweise verwendet eine 2D-Textur die ersten beiden Komponenten für UV-Koordinaten und die dritte Komponente für die Mipmapebene.

Parameter

Element BESCHREIBUNG
Objekt
Beliebiger Texturobjekttyp (außer Texture2DMS und Texture2DMSArray).
S
[in] Ein Samplerzustand. Dies ist ein Objekt, das in einer Effektdatei deklariert ist, die Zustandszuweisungen enthält.
Lage
[in] Die Texturkoordinaten. Der Argumenttyp ist vom Texturobjekttyp abhängig.
Texture-Object Typ Parametertyp
Texture1D float
Texture1DArray, Texture2D float2
Texture2DArray, Texture3D, TextureCube float3
TextureCubeArray float4

Wenn das Texturobjekt ein Array ist, ist die letzte Komponente der Arrayindex.

LOD

[in] Eine Zahl, die die Mipmapebene angibt. Wenn der Wert = 0 ist, wird die nullte (größte Karte) verwendet. Der Bruchwert (sofern angegeben) wird verwendet, um zwischen zwei Mipmapebenen zu interpolieren.

Offset

[in] Ein optionaler Texturkoordinatenoffset, der für jeden Texturobjekttyp verwendet werden kann. Der Offset wird vor der Stichprobenentnahme auf die Position angewendet. Die Texturoffsets müssen statisch sein. Der Argumenttyp ist vom Texturobjekttyp abhängig. Weitere Informationen finden Sie unter Anwenden von Texturkoordinatenoffsets.

Texture-Object Typ Parametertyp
Texture1D, Texture1DArray INT
Texture2D, Texture2DArray int2
Texture3D int3
TextureCube, TextureCubeArray Nicht unterstützt

Rückgabewert

Der Vorlagentyp der Textur, der ein Vektor mit einer oder mehreren Komponenten sein kann. Das Format basiert auf dem DXGI FORMAT der _ Textur.

Minimales 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
  1. TextureCubeArray ist in Shader Model 4.1 oder höher verfügbar.
  2. ShaderModell 4.1 ist in Direct3D 10.1 oder höher verfügbar.

Beispiel

Dieses Teilcodebeispiel ist aus der Datei Instancing.fx im Beispiel Instancing10.

// Object Declarations
Texture1D g_txRandom;

SamplerState g_samPoint
{
    Filter = MIN_MAG_MIP_POINT;
    AddressU = Wrap;
    AddressV = Wrap;
};

    
// Shader body calling the intrinsic function
float3 RandomDir(float fOffset)
{   
    float tCoord = (fOffset) / 300.0;
    return g_txRandom.SampleLevel( g_samPoint, tCoord, 0 );
   ...

Texture-Object