다음을 통해 공유


gather4 (sm4.1 - asm)

쌍선형 필터링 작업에 사용할 4개의 텍셀을 수집하고 단일 레지스터로 압축합니다.

gather4[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler.r
항목 설명
dest
[in] 연산 결과의 주소입니다.
srcAddress
[in] 텍스처 좌표를 포함합니다.
srcResource
[in] 리소스 레지스터입니다.
스위즐을 사용하면 반환된 값이 dest에 기록되기 전에 임의로 스위즐할 수 있습니다.
srcSampler
[in] 샘플러 레지스터입니다.
이 매개 변수에는 R 채널의 값이 dest로 복사되었음을 나타내는 .r(빨간색) 스위즐이 있어야 합니다.

설명

이 작업은 단일 채널 2D 또는 CubeMap 텍스처에서만 작동합니다. 2D 텍스처의 경우 샘플러의 주소 지정 모드만 사용되며 모든 mip 피라미드의 최상위 수준이 사용됩니다.

이 명령은 sample 명령처럼 동작하지만 필터링된 샘플은 생성되지 않습니다. 필터링에 영향을 주는 네 개의 샘플은 쿼리된 위치의 왼쪽 아래에 있는 샘플부터 시계 반대 방향으로 xyzw에 배치됩니다. 이는 (u,v) 텍스처 좌표 델타가 (-,+),(+,+),(+,-),(-,-)인 위치에서 점 샘플링과 동일합니다. 여기에서 델타의 크기는 항상 텍셀의 절반입니다.

CubeMap 텍스처의 경우 쌍선형 공간이 가장자리에 걸쳐 있으면 인접한 면의 텍셀이 사용됩니다. 모서리는 sample 명령과 동일한 규칙을 사용합니다. 즉, 알 수 없는 모서리는 세 개의 충돌 면 모서리의 평균으로 간주됩니다.

sample 명령에 적용되는 텍스처 형식 제한은 gather4 명령에도 적용됩니다.

하드웨어 구현의 경우 텍셀에서 직접 샘플을 검색하고 가중치가 0인 텍셀 읽기를 건너뛰는 기존 쌍선형 필터링의 최적화는 gather4와 함께 활용할 수 없습니다. gather4는 항상 요청된 모든 텍셀을 반환합니다.

이 명령은 다음 셰이더 단계에 적용됩니다.

꼭짓점 셰이더 기하 도형 셰이더 픽셀 셰이더
x x x

최소 셰이더 모델

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

셰이더 모델 지원됨
셰이더 모델 5
셰이더 모델 4.1
셰이더 모델 4 아니요
셰이더 모델 3(DirectX HLSL) 아니요
셰이더 모델 2(DirectX HLSL) 아니요
셰이더 모델 1(DirectX HLSL) 아니요

셰이더 모델 4 어셈블리(DirectX HLSL)