텍스처 처리의 갱신
픽셀 셰이더는, 다음의 방법으로, Microsoft® DirectX® 6.0 및 7.0 의 멀티 텍스처 기능을 확장 및 일반화한다.
- 보다 유연한 표현을 할 수 있도록(듯이), 일반적인 읽기/쓰기 레지스터세트가 추가되었다. D3DTA_CURRENT 를 사용하는 시리얼 cascade에서는, 스테이지 마다 개별의 결과 레지스터 인수를 지정할 필요가 있다.
- D3DTOP_MODULATE2X 및 D3DTOP_MODULATE4X 텍스처 처리가, 어느 명령에 대해서도 적용 가능한 개별의 수식자로서 분할되었다 (양쪽 모두는 불가). 이것에 의해, 개별의 D3DTOP_MODULATE 및 D3DTOP_MODULATE2X 처리의 필요성이 없어졌다.
- 적화연산을 추가하기 위해서 옵션의 3 번째의 인수를 추가했으므로, 수속형 픽셀 셰이더가 arg1 x arg2 + arg0 를 실행할 수 있게 되어 있다. 이것에 의해, D3DTOP_MODULATEALPHA_ADDCOLOR 및 D3DTOP_MODULATECOLOR_ADDALPHA 텍스처 처리가 없어졌다.
- 블렌드 처리에 옵션으로서 3 번째의 인수가 추가되어 수속형 픽셀 셰이더는 arg1 와 arg2 의 사이의 혼합 비율로서 arg0 를 사용할 수 있게 되었다. 이것에 의해, D3DTOP_BLENDDIFFUSEALPHA, D3DTOP_BLENDTEXTUREALPHA, D3DTOP_BLENDFACTORALPHA, D3DTOP_BLENDTEXTUREALPHAPM, 및 D3DTOP_BLENDCURRENTALPHA 텍스처 처리가 없어졌다.
- 컬러 처리 및 알파 처리로부터, D3DTOP_BUMPENVMAP 등의 텍스처 주소 수정 처리를 생성할 수 있게 되어, 특히 텍스처 주소상에서 처리를 행하기 위한 3 번째의 처리 타입으로서 정의되었다.
이와 같이 확장된 유연성을 효율적으로 지원 하기 위한(해), 애플리케이션 프로그래밍 인터페이스 (API) 구문이 DWORD 페어로부터 ASCII 어셈블(assemble) 코드 구문으로 변경되었다. 이것에 의해, 수속형 픽셀 셰이더에 의해 제공되는 기능을 공개할 수가 있다.
주 픽셀 셰이더를 사용하는 경우, 스펙큐러의 추가는 렌더링 스테이트에 의해 특히 제어되지 않게 되어, 필요에 따라서 처리 하는 것은 픽셀 셰이더의 역할이 된다. 그러나, 포그(안개:fog) 혼합은 고정 기능 파이프라인에 의해 적용된다.