샘플러(Direct3D 9 asm-ps)
샘플러는 샘플링 단계를 식별하는 데 사용되는 픽셀 셰이더의 입력 의사 레지스터입니다. 16개의 픽셀 셰이더 샘플링 단계 레지스터(s0 ~ s15)가 있습니다. 따라서 단일 셰이더 패스에서 최대 16개의 텍스처 표면을 읽을 수 있습니다. 샘플러 레지스터를 사용하는 명령은 texld 및 texldp입니다.
dcl_samplerType(sm2, sm3 - ps asm) 명령과 함께 사용하기 전에 샘플러를 선언해야 합니다.
픽셀 셰이더 버전 | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
샘플러 | x | x | x | x | x |
샘플러는 직접 읽거나 쓸 수 없기 때문에 의사 레지스터입니다.
샘플링 단위는 SetSamplerState에서 제공하는 샘플링별 상태를 캡슐화하는 텍스처 샘플링 단계에 해당합니다. 각 샘플러는 SetTexture를 사용하여 해당 샘플러로 설정되는 단일 텍스처 표면을 고유하게 식별합니다. 그러나 여러 샘플러에서 동일한 텍스처 표면을 설정할 수 있습니다.
그릴 때 텍스처는 렌더링 대상과 스테이지의 텍스처로 동시에 설정할 수 없습니다.
샘플러는 텍스처 로드 명령에서 유일한 인수로 나타날 수 있습니다. texldl - ps.
ps_3_0에서 샘플러를 사용하는 경우 dcl_samplerType(sm2, sm3 - ps asm) 명령을 사용하여 셰이더 프로그램 시작 부분에 샘플러를 선언해야 합니다.
텍스처 좌표에 있는 것보다 더 높은 차원으로 텍스처를 샘플링하는 것은 허용되지 않습니다. 텍스처 좌표에 있는 것보다 더 낮은 차원으로 텍스처를 샘플링하면 추가 텍스처 좌표가 무시됩니다.
관련 항목