SampleLevel (objeto de textura HLSL directx)

Amostra uma textura usando um deslocamento no nível de mipmap.

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

Essa função é semelhante a Sample , exceto que ela usa o nível LOD (no último componente do parâmetro location) para escolher o nível de mipmap. Por exemplo, uma textura 2D usa os dois primeiros componentes para coordenadas uv e o terceiro componente para o nível de mipmap.

Parâmetros

Item Descrição
Objeto
Qualquer tipo de objeto de textura (exceto Texture2DMS e Texture2DMSArray).
S
[in] Um estado sampler. Esse é um objeto declarado em um arquivo de efeito que contém atribuições de estado.
Localização
[in] As coordenadas de textura. O tipo de argumento depende do tipo de objeto de textura.
Tipo de Texture-Object Tipo de parâmetro
Texture1D FLOAT
Texture1DArray, Texture2D float2
Texture2DArray, Texture3D, TextureCube float3
TextureCubeArray float4

Se o objeto de textura for uma matriz, o último componente será o índice da matriz.

LOD

[in] Um número que especifica o nível de mipmap. Se o valor for = 0, o zero'th (mapa maior) será usado. O valor fracionário (se fornecido) é usado para interpolar entre dois níveis de mipmap.

Deslocamento

[in] Um deslocamento de coordenada de textura opcional, que pode ser usado para qualquer tipo de objeto de textura; o deslocamento é aplicado ao local antes da amostragem. Os deslocamentos de textura precisam ser estáticos. O tipo de argumento depende do tipo de objeto de textura. Para obter mais informações, consulte Aplicando deslocamentos de coordenadas de textura.

Tipo de Texture-Object Tipo de parâmetro
Texture1D, Texture1DArray INT
Texture2D, Texture2DArray int2
Texture3D int3
TextureCube, TextureCubeArray sem suporte

Valor Retornado

O tipo de modelo da textura, que pode ser um vetor de componente único ou multicomponentes. O formato é baseado no DXGI_FORMAT da textura.

Modelo de sombreador mínimo

Essa função tem suporte nos modelos de sombreador a seguir.

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á disponível no Modelo de Sombreador 4.1 ou superior.
  2. O Modelo de Sombreador 4.1 está disponível no Direct3D 10.1 ou superior.

Exemplo

Este exemplo de código parcial é do arquivo Instancing.fx no Exemplo 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 );
   ...

Objeto Texture