SampleLevel (oggetto Texture DirectX HLSL)

Esempi di una trama usando un offset a livello di mipmap.

<Modello Type> Object.SampleLevel( sampler_state S, float Location, float LOD [, int Offset] );

Questa funzione è simile a Sample , ad eccezione del fatto che usa il livello LOD (nell'ultimo componente del parametro location) per scegliere il livello mipmap. Ad esempio, una trama 2D usa i primi due componenti per le coordinate uv e il terzo componente per il livello mipmap.

Parametri

Elemento Descrizione
Oggetto
Qualsiasi tipo di oggetto trama (ad eccezione di Texture2DMS e Texture2DMSArray).
S
[in] Stato di Sampler. Si tratta di un oggetto dichiarato in un file di effetto che contiene assegnazioni di stato.
Posizione
[in] Coordinate della trama. Il tipo di argomento dipende dal tipo di oggetto trama.
Texture-Object tipo Tipo di parametro
Trama1D float
Texture1DArray, Texture2D float2
Texture2DArray, Texture3D, TextureCube float3
TextureCubeArray float4

Se l'oggetto trama è una matrice, l'ultimo componente è l'indice della matrice.

LOD

[in] Numero che specifica il livello mipmap. Se il valore è = 0, viene usato il valore zero'th (mappa più grande). Il valore frazionaria (se specificato) viene usato per interpolare tra due livelli di mipmap.

Compensare

[in] Offset di coordinate di trama facoltativo, che può essere usato per qualsiasi tipo di oggetto trama; l'offset viene applicato alla posizione prima del campionamento. Gli offset di trama devono essere statici. Il tipo di argomento dipende dal tipo di oggetto trama. Per altre informazioni, vedere Applicazione degli offset delle coordinate della trama.

Texture-Object tipo Tipo di parametro
Texture1D, Texture1DArray INT
Texture2D, Texture2DArray int2
Texture3D int3
TextureCube, TextureCubeArray non supportato

Valore restituito

Tipo di modello della trama, che può essere un vettore a singolo componente o a più componenti. Il formato si basa sulla DXGI_FORMAT della trama.

Modello di shader minimo

Questa funzione è supportata nei modelli shader seguenti.

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 è disponibile in Shader Model 4.1 o versione successiva.
  2. Shader Model 4.1 è disponibile in Direct3D 10.1 o versione successiva.

Esempio

Questo esempio di codice parziale proviene dal file Instancing.fx nell'esempio 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