다음을 통해 공유


샘플러(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) 명령을 사용하여 셰이더 프로그램의 시작 부분에서 선언해야 합니다.

텍스처 좌표에 있는 것보다 높은 차원의 텍스처 샘플링은 불법입니다. 텍스처 좌표에 있는 것보다 낮은 차원으로 텍스처를 샘플링하면 추가 텍스처 좌표가 무시됩니다.

레지스터