Load(DirectX HLSL 텍스처 개체)

필터링이나 샘플링 없이 텍셀 데이터를 읽습니다.

ret Object.Load(
typeX Location,
[typeX SampleIndex, ]
[typeX Offset ]
);

typeX는 int, int2, int3 또는 int4의 네 가지 가능한 형식이 있음을 나타냅니다.

 

매개 변수

Object

texture-object 형식(TextureCube 또는 TextureCubeArray 제외)입니다.

Location

[in] 텍스처 좌표입니다. 마지막 성분은 밉맵 수준을 지정합니다. 이 방법은 0.0-1.0 UV 시스템이 아닌 0 기반 좌표계를 사용합니다. 인수 형식은 텍스처 개체 형식에 따라 다릅니다.

개체 유형 매개 변수 유형
Buffer int
Texture1D, Texture2DMS int2
Texture1DArray, Texture2D, Texture2DMSArray int3
Texture2DArray, Texture3D int4

 

예를 들어, 2D 텍스처에 액세스하려면 처음 두 성분에 정수 텍셀 좌표를 제공하고 세 번째 성분에 밉맵 수준을 제공합니다.

참고

Location의 좌표 중 하나 이상이 텍스처의 u, v 또는 w 밉맵 수준 차원을 초과하면 Load는 모든 성분에서 0을 반환합니다. Direct3D는 범위를 벗어나 액세스되는 모든 리소스에 대해 0을 반환하도록 보장합니다.

 

SampleIndex

[in] 샘플링 인덱스입니다. 다중 샘플 텍스처에 필요합니다. 다른 텍스처에는 지원되지 않습니다.

텍스처 형식 매개 변수 유형
Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, Texture2DArray, TextureCube, TextureCubeArray 지원되지 않음
Texture2DMS, Texture2DMSArray¹ int

Offset

[in] 샘플링 전에 텍스처 좌표에 적용되는 선택적 오프셋입니다. 오프셋 형식은 텍스처 개체 형식에 따라 다르며 정적이어야 합니다.

텍스처 형식 매개 변수 유형
Texture1D, Texture1DArray int
Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray int2
Texture3D int3

 

참고

다중 샘플 텍스처에서는 SampleIndex를 항상 먼저 지정해야 합니다.

 

반환 값

반환 형식은 Object 선언의 형식과 일치합니다. 예를 들어 "Texture2d<uint4> myTexture;"로 선언된 Texture2D 개체의 반환 값은 uint4 형식입니다.

최소 셰이더 모델

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

vs_4_0 vs_4_1¹ ps_4_0 ps_4_1¹ gs_4_0 gs_4_1¹
x x x x x x

 

  • 셰이더 모델 4.1은 Direct3D 10.1 이상에서 사용할 수 있습니다.

이 부분 코드 예는 AdvancedParticles 샘플의 Paint.fx 파일에서 가져온 것입니다.

// Object Declarations
Buffer<float4> g_ParticleBuffer;

// Shader body calling the intrinsic function
float4 PSPaint(PSQuadIn input) : SV_Target
{       
    ... 
    for( int i=g_ParticleStart; i<g_NumParticles; i+=g_ParticleStep )
    {
        ... 
        // load the particle
        float4 particlePos = g_ParticleBuffer.Load( i*4 );
        float4 particleColor = g_ParticleBuffer.Load( (i*4) + 2 );
        ...     
    }
    ...
}   

텍스처 개체