다음을 통해 공유


gather4(sm5 - asm)

쌍선형 필터링 작업에 사용할 4개의 텍셀을 수집하고 단일 레지스터로 압축합니다. 이 명령은 배열을 포함하여 2D 또는 CubeMap 텍스처에서만 작동합니다. 샘플러의 주소 지정 모드만 사용되며 모든 밉 피라미드의 최상위 수준이 사용됩니다.

gather4[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler[.select_component]
항목 설명
dest
[in] 작업 결과의 주소입니다.
srcAddress
[in] 텍스처 좌표 집합입니다.
srcResource
[in] 텍스처 레지스터입니다.
srcSampler
[in] 샘플러 레지스터입니다.

설명

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

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

형식 목록에 표현되는 gather4에 적용되는 텍스처 형식 제한이 있습니다.

srcResource에 스위즐을 사용하면 반환된 값이 대상에 기록되기 전에 임의로 스위즐할 수 있습니다.

srcSampler의 .select_component가 4개의 텍셀을 읽을 원본 텍스처(r/g/b/a)의 구성 요소를 선택합니다.

float32 구성 요소가 있는 형식의 경우 페치되는 값이 정규화, 비정규화, +-0 또는 +-INF이면 셰이더에 변경되지 않은 상태로 반환됩니다. NaN은 NaN으로 반환되지만 NaN의 정확한 비트 표현은 변경될 수 있습니다. TextureCubes의 경우 누락된 4번째 텍셀의 일부 합성은 모서리에서 발생해야 하므로 합성된 텍셀에 대해 변경되지 않은 비트를 반환하는 것은 적용되지 않으며 비정상 값을 플러시할 수 있습니다.

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

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

꼭짓점 Hull 도메인 기하 도형 픽셀 컴퓨팅
X X X X X X

최소 셰이더 모델

이 명령은 다음 셰이더 모델에서 지원됩니다.

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

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