DirectX Graphics 프로그래밍 가이드 프로그래밍 가능한 파이프라인 픽셀 셰이더   [목차열람] [주소복사] [슬롯비우기]
픽셀 셰이더
 
Microsoft DirectX 9.0

픽셀 셰이더


Microsoft® DirectX® 8.0 이전으로는, Microsoft Direct3D® 는 고정 기능 파이프라인을 사용해, 3 차원 (3D) 지오메트리를 렌더링 한 스크린 픽셀로 변환하고 있었다. 사용자는, Direct3D 에 의한 변환, 조명, 픽셀의 렌더링의 방법을 제어하는 파이프라인 속성을 설정해 있었다. 컴파일시에 선언하는 고정 기능 정점 포맷에 의해 입력 정점 포맷은 정해져, 정의를 종료한 후는, 실행시로 파이프라인의 변경을 사용자가 제어하는 것은 거의 할 수 없었다.

셰이더를 사용하면, 정점 변환, 조명, 각각의 픽셀의 컬러 링 기능의 프로그래밍이 가능하게 되어, 그래픽스 파이프라인에 새로운 차원이 추가된다. 픽셀 셰이더는, 삼각형을 래스터화할 때 픽셀 단위로 실행되는 짧은 프로그램이다. 이것을 사용하면, 픽셀의 렌더링 방법으로 새로운 레벨의 동적인 유연성이 태어난다.

픽셀 셰이더는, ASCII 텍스트로부터 완성되는 픽셀 셰이더 명령을 포함하고 있다. 산술 명령을 사용해 디퓨즈색이나 스펙큐러색을 적용할 수 있다. 텍스처어드레싱 명령을 사용하면, 텍스처 데이터의 읽기 및 적용을 위한 다양한 처리를 실행할 수 있다. 색성분의 마스크 및 교체를 위한 기능도 준비되어 있다. 셰이더의 텍스트는 어셈블리 언어에 유사해, 텍스트 캐릭터 라인 또는 파일내의 Direct3D extension (D3DX) 어셈블러 함수를 사용해 어셈블(assemble) 된다. 어셈블러 출력은 일련의 처리 코드이며, 애플리케이션은 IDirect3DDevice9::CreatePixelShader 를 사용해 이것을 Direct3D 에 제공한다. 픽셀 셰이더에는 몇개의 버전이 있다. 「셰이더 레퍼런스」를 참조할것.

명령 세트는 급속히 발전하고 있다. 기능 정지를 피하기 위해서(때문에) 최적인 명령 순서의 더 자세한 정보는, 각 하드웨어 벤더의 Web 사이트를 참조할것. 혹은, D3DX 를 사용해 매우 효율적으로 컴파일 한 셰이더 명령을 얻기 위해서,상위 레벨 셰이더 언어를 최대한으로 이용 할 수 있다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP