Gather(DirectX HLSL 텍스처 개체)

텍스처를 샘플링할 때 쌍선형 보간에 사용되는 4개의 샘플(빨간색 성분만)을 가져옵니다.

<템플릿 형식>4 Object.Gather( sampler_state S, float2|3|4 Location [, int2 Offset] );

매개 변수

항목 설명
Object
다음 texture-object 형식이 지원됩니다. Texture2D, Texture2DArray, TextureCube, TextureCubeArray.
S
[in] 샘플러 상태입니다. 상태 할당을 포함하는 효과 파일에 선언된 개체입니다.
Location
[in] 텍스처 좌표입니다. 인수 형식은 텍스처-개체 형식에 따라 달라집니다.
텍스처-개체 형식 매개 변수 유형
Texture2D float2
Texture2DArray, TextureCube float3
TextureCubeArray float4

Offset

[in] 모든 텍스처 개체 형식에 사용할 수 있는 선택적 텍스처 좌표 오프셋입니다. 오프셋은 샘플링 전에 위치에 적용됩니다. 인수 형식은 텍스처 개체 형식에 따라 다릅니다. 셰이더 모델 5.0 이상을 대상으로 하는 셰이더의 경우 각 오프셋 값의 최하위 6비트가 부호 있는 값으로 간주되어 [-32..31] 범위를 생성합니다. 이전 셰이더 모델 셰이더의 경우 오프셋은 -8에서 7 사이의 즉치 정수여야 합니다.

텍스처 개체 형식 매개 변수 유형
Texture2D, Texture2DArray int2
TextureCube, TextureCubeArray 지원되지 않음

반환 값

텍스처의 템플릿 형식과 형식이 동일한 빨간색 데이터의 4-성분이 있는 4-성분 벡터입니다.

최소 셰이더 모델

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

vs_4_0 vs_4_1 ps_4_0 ps_4_1 gs_4_0 gs_4_1
x x x
  1. TextureCubeArray는 셰이더 모델 4.1 이상에서 사용할 수 있습니다.
  2. 셰이더 모델 4.1은 Direct3D 10.1 이상에서 사용할 수 있습니다.

예제

Texture2D<int1> Tex2d;
Texture2DArray<int2> Tex2dArray;
TextureCube<int3> TexCube;
TextureCubeArray<float2> TexCubeArray;

SamplerState s;

int4 main (float4 f : SV_Position) : SV_Target
{
    int2 iOffset = int2(2,3);

    int4 i1 = Tex2d.Gather(s, f.xy);
    int4 i2 = Tex2d.Gather(s, f.xy, iOffset);

    int4 i3 = Tex2dArray.Gather(s, f.xyz);
    int4 i4 = Tex2dArray.Gather(s, f.xyz, iOffset);

    int4 i5 = TexCube.Gather(s, f.xyzw);

    float4 f6 = TexCubeArray.Gather(s, f.xyzw);

    return i1+i2+i3+i4+i5+int4(f6);
}
  

텍스처 개체