ps_1_1, ps_1_2, ps_1_3, ps_1_4
픽셀 셰이더는 레지스터에 포함된 픽셀 데이터에서 작동하는 일련의 명령으로 구성됩니다. 연산은 연산자와 하나 이상의 피연산자로 구성된 명령으로 표현됩니다. 명령은 레지스터를 사용하여 픽셀 셰이더 ALU 안팎으로 데이터를 전송합니다. 또한 일부 명령에서는 레지스터를 사용하여 임시 결과를 저장할 수도 있습니다.
참고
픽셀 셰이더 1.x에 대한 HLSL 지원은 더 이상 제공되지 않습니다.
지침
픽셀 셰이더 명령의 두 가지 주요 범주는 산술 명령 및 텍스처 주소 지정 명령입니다. 산술 명령은 색 데이터를 수정합니다. 텍스처 주소 지정 작업은 텍스처 좌표 데이터를 처리하며 대부분의 경우 텍스처를 샘플링합니다. 픽셀 셰이더 명령은 픽셀 단위로 실행됩니다. 즉, 이러한 명령에는 파이프라인의 다른 픽셀에 대한 지식이 없습니다.
텍스처 주소 지정 명령은 각각 하나의 슬롯을 사용하지만 산술 명령을 페어링하여 단일 슬롯에서 색 구성 요소(RGB)와 알파 구성 요소 명령을 모두 사용하도록 설정할 수 있습니다.
ps_1_1, ps_1_2, ps_1_3 ps_1_4 명령에는 사용 가능한 명령 목록이 포함되어 있습니다.
다중 샘플링을 사용하도록 설정하면 픽셀 셰이더는 모든 하위 픽셀에 대해 한 번만 실행되지 않고 픽셀당 한 번만 실행됩니다. 다중 샘플링은 깊이 및 스텐실 테스트뿐만 아니라 다각형 가장자리의 해상도만 증가시킵니다. 예를 들어 3x3 다중 샘플링을 사용하도록 설정하고 래스터화되는 삼각형이 특정 픽셀에 대해 9개의 하위 픽셀 중 5개를 포함하는 것으로 확인되면 픽셀 셰이더가 한 번 실행되고 5개의 하위 픽셀 모두에 동일한 색 결과가 적용됩니다.
레지스터
ps_1_1__ps_1_2__ps_1_3__ps_1_4 레지스터는 셰이더 ALU에서 사용하는 여러 레지스터를 나열합니다.
한정자
ps_1_X에 대한 한정자를 사용하여 명령의 기능을 변경하거나 레지스터에서 읽거나 레지스터에 쓴 데이터를 변경할 수 있습니다.
Direct3D 9에는 모든 표면 형식에 대해 최소 8비트 정밀도를 유지하기 위해 중간 계산이 필요합니다. 단계 내 수학에는 더 높은 정밀도(12비트)를 적용하고 텍스처 단계 사이의 채도는 8비트로 지정하는 것이 좋습니다. 수정 가능한 반올림 모드 또는 예외는 지원되지 않습니다. 정밀도 손실을 최소한으로 유지하려면 가장 가까운 정밀도로 반올림을 사용하여 곱셈을 지원해야 합니다.
샘플러 개수
사용 가능한 텍스처 샘플러의 수는 다음과 같습니다.
- ps_1_0 - ps_1_3의 경우 최댓값은 4입니다.
- ps_1_4의 경우 최댓값은 6입니다.
관련 항목