SampleLevel (objeto de textura HLSL de DirectX)

Muestrea una textura mediante un desplazamiento de nivel de mapa mip.

<Tipo de > plantilla Object.SampleLevel( sampler _ state S, float Location, float LOD [ , int Offset ] );

Esta función es similar a Sample, salvo que usa el nivel de LOD (en el último componente del parámetro location) para elegir el nivel mipmap. Por ejemplo, una textura 2D usa los dos primeros componentes para las coordenadas uv y el tercer componente para el nivel de mapa mip.

Parámetros

Elemento Descripción
Objeto
Cualquier tipo de objeto de textura (excepto Texture2DMS y Texture2DMSArray).
S
[in] Un estado sampler. Se trata de un objeto declarado en un archivo de efecto que contiene asignaciones de estado.
Ubicación
[in] Coordenadas de textura. El tipo de argumento depende del tipo texture-object.
Texture-Object type Tipo de parámetro
Texture1D FLOAT
Texture1DArray, Texture2D float2
Texture2DArray, Texture3D, TextureCube float3
TextureCubeArray float4

Si el objeto de textura es una matriz, el último componente es el índice de la matriz.

LOD

[in] Número que especifica el nivel de asignación mip. Si el valor es = 0, se usa el cero "número" (mapa más grande). El valor fraccional (si se proporciona) se usa para interpolar entre dos niveles de mapa mip.

Compensar

[in] Desplazamiento de coordenadas de textura opcional, que se puede usar para cualquier tipo de objeto de textura; el desplazamiento se aplica a la ubicación antes del muestreo. Los desplazamientos de textura deben ser estáticos. El tipo de argumento depende del tipo texture-object. Para obtener más información, vea Aplicar desplazamientos de coordenadas de textura.

Texture-Object type Tipo de parámetro
Texture1D, Texture1DArray int
Texture2D, Texture2DArray int2
Texture3D int3
TextureCube, TextureCubeArray no admitido

Valor devuelto

El tipo de plantilla de la textura, que puede ser un vector de uno o varios componentes. El formato se basa en EL FORMATO DXGI de la _ textura.

Modelo mínimo de sombreador

Esta función se admite en los siguientes modelos de sombreador.

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 está disponible en Shader Model 4.1 o superior.
  2. El modelo de sombreador 4.1 está disponible en Direct3D 10.1 o posterior.

Ejemplo

Este ejemplo de código parcial es del archivo Instancing.fx del ejemplo 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