SampleLevel(DirectX HLSL 텍스처 개체)

mipmap 수준 오프셋을 사용하여 텍스처를 샘플링합니다.

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

이 함수는 LOD 수준(위치 매개 변수의 마지막 구성 요소)을 사용하여 mipmap 수준을 선택한다는 점을 제외하고 Sample과 유사합니다. 예를 들어 2D 텍스처는 uv 좌표에 처음 두 개의 구성 요소를 사용하고 mipmap 수준에는 세 번째 구성 요소를 사용합니다.

매개 변수

항목 설명
Object
모든 텍스처-개체 형식(Texture2DMS 및 Texture2DMSArray 제외)입니다.
S
[in] 샘플러 상태입니다. 상태 할당을 포함하는 효과 파일에 선언된 개체입니다.
Location
[in] 텍스처 좌표입니다. 인수 형식은 텍스처-개체 형식에 따라 달라집니다.
텍스처-개체 형식 매개 변수 유형
Texture1D float
Texture1DArray, Texture2D float2
Texture2DArray, Texture3D, TextureCube float3
TextureCubeArray float4

텍스처 개체가 배열인 경우 마지막 구성 요소는 배열 인덱스입니다.

LOD

[in] Mipmap 수준을 지정하는 숫자입니다. 값 = 0이면 0번째(가장 큰 맵)가 사용됩니다. 소수 값(제공된 경우)은 두 mipmap 수준 사이를 보간하는 데 사용됩니다.

Offset

[in] 모든 텍스처 개체 형식에 사용할 수 있는 선택적 텍스처 좌표 오프셋입니다. 오프셋은 샘플링 전에 위치에 적용됩니다. 텍스처 오프셋은 정적이어야 합니다. 인수 형식은 텍스처-개체 형식에 따라 달라집니다. 자세한 내용은 텍스처 좌표 오프셋 적용을 참조하세요.

텍스처-개체 형식 매개 변수 유형
Texture1D, Texture1DArray int
Texture2D, Texture2DArray int2
Texture3D int3
TextureCube, TextureCubeArray 지원되지 않음

반환 값

단일 또는 다중 구성 요소 벡터일 수 있는 텍스처의 템플릿 형식입니다. 형식은 텍스처의 DXGI_FORMAT을 기반으로 합니다.

최소 셰이더 모델

이 함수는 다음 셰이더 모델에서 지원됩니다.

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는 셰이더 모델 4.1 이상에서 사용할 수 있습니다.
  2. 셰이더 모델 4.1은 Direct3D 10.1 이상에서 사용할 수 있습니다.

이 부분 코드 예제는 Instancing10 샘플의 Instancing.fx 파일에서 가져옵니다.

// 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 );
   ...

텍스처 개체