DirectX Graphics 레퍼런스 셰이더 레퍼런스 픽셀 셰이더 3_0 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
프로그래밍 가능한 픽셀 셰이더는, 픽셀 데이터를 처리하는 일련의 명령으로부터 완성된다. 레지스터는, ALU 와의 사이에 데이터를 교환한다. 추가의 제어를 적용해, 명령, 결과, 기입하는 데이터를 변경할 수 있다.
면레지스터를 추가했다. 위치 좌표 레지스터를 추가했다. 컬러 레지스터 (v#)는, 완전한 부동 소수점수(실수)가 되어, 텍스처 좌표 레지스터 (t#)와 통합되었다. 입력 선언에서는 사용 방법의 이름을 지정할 수 있다. 지정한 1 개의 레지스터에 대해서 성분의 사용 방법을 복수 지정할 수 있다.
장치는 동적 flow control (if ,break ,break_comp )를 지원 한다. 네스트의 깊이는, 0 ~ 24 의 범위이다.
지원 되고 있는 임시 레지스터의 수는 32 개이다.
call /callnz /call_pred 는, 최대로 4 레벨의 깊이까지 네스트 할 수 있다. 또 이것과는 별도로,loop /rep 명령도 최대로 4 레벨의 깊이까지 네스트 할 수 있다.
임의의 교체를 지원 한다. 「임의의 교체」를 참조할것.
그라데이션 명령을 지원 한다. 「dsx 」, 「dsy 」, 「texldd 」를 참조할것.
명령의 프레디케이션을 지원 한다. 「프레디케이션」을 참조할것.
종속 읽기의 제한은 없다.
텍스처 명령의 제한은 없다.
각 픽셀 셰이더에 대해서, 512 로부터 D3DCAPS9 의 MaxPixelShader30InstructionSlots 멤버로 지정되고 있는 슬롯수 (상한은 32,768)까지 허가되고 있다. 루프가 지원 되기 (위해)때문에, 실행되는 명령의 수는 이것보다 현격히 많아질 가능성이 있다. D3DCAPS9 의 MaxPShaderInstructionsExecuted 능력은, 적어도 2^16 일 필요가 있다.