다음을 통해 공유


sample_c(sm4 - asm)

비교 필터를 수행합니다.

sample_c[_aoffimmi(u,v,w)] dest[.mask], srcAddress[.swizzle], srcResource.r, srcSampler, srcReferenceValue
항목 설명
dest
[in] 작업 결과의 주소입니다.
srcAddress
[in] 텍스처 좌표 집합입니다. 자세한 내용은 sample 명령을 참조하세요.
srcResource
[in] 텍스처 레지스터입니다. 자세한 내용은 sample 명령을 참조하세요. .r 스위즐이어야 합니다.
srcSampler
[in] 샘플러 레지스터입니다. 자세한 내용은 sample 명령을 참조하세요.
srcReferenceValue
[in] 비교에 사용되는 단일 구성 요소가 선택된 레지스터입니다.

설명

이 명령의 주요 목적은 Percentage-Closer Depth 필터링을 위한 빌딩 블록을 제공하는 것입니다. sample_c의 "c"는 비교를 의미합니다.

sample_c에 대한 피연산자는 단일 성분이 선택된 레지스터이거나 스칼라 리터럴이어야 하는 추가 float32 원본 피연산자 srcReferenceValue가 있다는 점을 제외하고 sample 명령과 동일합니다.

srcResource 매개 변수에는 .r(빨간색) swizzle이 있어야 합니다. sample_c는 빨간색 성분에서만 작동하며 단일 값을 반환합니다. srcResource의 .r swizzle은 스칼라 결과가 모든 성분에 복제됨을 나타냅니다.

작업의 순서는 .입니다 srcReferenceValue {ComparisonFunction} texel.R.

깊이 버퍼가 입력 텍스처로 설정되면 깊이 값이 빨간색 성분에 표시됩니다.

이 명령을 Texture1D/2D/2DArray/Cube/CubeArray가 아닌 리소스와 함께 사용하면 정의되지 않은 결과가 생성됩니다.

이 명령이 실행되면 샘플링 하드웨어는 현재 Sampler의 ComparisonFunction을 사용하여 srcAddress에 제공된 좌표를 기반으로 현재 구성된 텍스처 필터가 다루는 각 필터 "탭" 위치(텍셀)에서 원본 리소스의 빨간색 성분 값과 srcReferenceValue를 비교합니다.

Output Merger 표시 유형 테스트에서 깊이 비교 전에 z가 깊이 버퍼 정밀도로 양자화되는 것과 똑같은 방식으로 srcReferenceValue가 텍스처 형식의 정밀도로 양자화된 후에 비교가 발생합니다. 여기에는 형식 범위에 대한 클램프가 포함됩니다(예: UNORM 형식의 경우 [0..1]).

원본 텍셀의 Red 성분은 양자화된 srcReferenceValue와 비교됩니다. 리소스에서 떨어지는 텍셀의 경우 샘플러에서 주소 모드(및 테두리 모드인 경우 BorderColorR)를 적용하여 빨간색 성분 값이 결정됩니다. 비교는 텍스처 형식이 부동 소수점인 경우 모든 D3D11 부동 소수점 비교 규칙을 따릅니다.

통과하는 각 비교는 텍셀에 대한 Red 성분 값으로 1.0f를 반환하고 실패한 각 비교는 텍스처에 대한 Red 값으로 0.0f를 반환합니다. 그런 다음 필터링은 샘플러 상태에 지정된 대로 정확하게 발생하여 Red 성분에서만 작동하고 단일 스칼라 필터 결과를 셰이더로 다시 반환하며 마스킹된 모든 dest 성분에 복제됩니다.

sample_c의 사용은 다른 모든 범용 필터링 컨트롤과 직교합니다. sample_c는 다른 범용 필터 모드와 원활하게 작동합니다. sample_c는 비교 결과로 인해 필터링되는 값이 모두 1.0f 또는 0.0f가 되도록 범용 필터의 동작을 변경합니다.

바인딩된 것이 없는 입력 슬롯에서 가져오면 모든 성분에 대해 0을 반환합니다.

자세한 내용은 sample 명령을 참조하세요.

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

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

최소 셰이더 모델

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

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

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