sample_d(sm4 - asm)
지정된 주소와 지정된 샘플러로 식별된 필터링 모드를 사용하여 지정된 요소/텍스처에서 데이터를 샘플링합니다.
sample_d[_aoffimmi(u,v,w)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler, srcXDerivatives[.swizzle], srcYDerivatives[.swizzle] |
---|
항목 | 설명 |
---|---|
dest |
[in] 작업 결과의 주소입니다. |
srcAddress |
[in] 텍스처 좌표 집합입니다. 자세한 내용은 sample 명령을 참조하세요. |
srcResource |
[in] 텍스처 레지스터입니다. 자세한 내용은 sample 명령을 참조하세요. |
srcSampler |
[in] 샘플러 레지스터입니다. 자세한 내용은 sample 명령을 참조하세요. |
srcXDerivatives |
[in] x 방향의 원본 주소에 대한 도함수입니다. 자세한 내용은 설명 섹션을 참조하세요. |
srcYDerivatives |
[in] y 방향의 원본 주소에 대한 도함수입니다. 자세한 내용은 설명 섹션을 참조하세요. |
설명
이 명령은 sample 명령처럼 작동하지만 x 방향 및 y 방향의 원본 주소에 대한 도함수는 추가 매개 변수인 srcXDerivatives 및 srcYDerivatives에 의해 각각 제공됩니다. 이러한 도함수는 정규화된 텍스처 좌표 공간에 있습니다.
srcXDerivatives(POS-swizzle)의 r, g 및 b 성분은 du/dx, dv/dx 및 dw/dx를 제공합니다. 'a' 성분(POS-swizzle)은 무시됩니다.
srcYDerivatives(POS-swizzle)의 r, g 및 b 성분은 du/dy, dv/dy 및 dw/dy를 제공합니다. 'a' 성분(POS-swizzle)은 무시됩니다.
2x2 스탬프에서 단일 LOD 계산을 공유할 수 있는 sample 명령과 달리 sample_d는 픽셀 셰이더에서 사용될 때 픽셀별로 완전히 독립적으로 LOD를 계산해야 합니다.
sample_d에 대한 도함수 입력이 픽셀 셰이더의 도함수 컴퓨팅 명령에서 나왔고 값에 INF/NaN이 포함된 경우 sample_d의 동작은 도함수를 암시적으로 계산하는 sample 명령과 일치하지 않을 수 있습니다. INF/NaN 값은 LOD 계산에 다르게 영향을 미칠 수 있습니다.
바인딩된 것이 없는 입력 슬롯에서 가져오면 모든 성분에 대해 0을 반환합니다.
제한
- sample_d는 sample 명령과 동일한 제한 사항과 추가 매개 변수에 대한 아래 추가 제한 사항을 상속합니다.
- srcXDerivatives 및 srcYDerivatives는 temp(r#/x#), constantBuffer(cb#), input(v#) 레지스터 또는 즉치 값이어야 합니다.
이 명령은 다음 셰이더 단계에 적용됩니다.
꼭짓점 셰이더 | 기하 도형 셰이더 | 픽셀 셰이더 |
---|---|---|
X | X | x |
최소 셰이더 모델
이 함수는 다음 셰이더 모델에서 지원됩니다.
셰이더 모델 | 지원됨 |
---|---|
셰이더 모델 5 | 예 |
셰이더 모델 4.1 | 예 |
셰이더 모델 4 | 예 |
셰이더 모델 3(DirectX HLSL) | 아니요 |
셰이더 모델 2(DirectX HLSL) | 아니요 |
셰이더 모델 1(DirectX HLSL) | 아니요 |