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

정점 셰이더


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

프로그래밍 가능한 셰이더를 사용하면 변환, 조명, 렌더링의 기능을 실행시에 수정하는 것이 가능하게 되어, 그래픽 파이프라인에 새로운 차원이 추가된다. 셰이더는 실행시에 선언되지만, 사용자는 이 때에, 액티브하게 하는 셰이더를 변경하거나 스트림 데이터를 사용해 셰이더 데이터를 동적으로 제어할 수가 있다. 프로그래밍 가능한 셰이더를 사용하면, 픽셀의 렌더링 방법으로 새로운 레벨의 동적인 유연성이 태어난다.

정점 셰이더 파일에는, 정점 셰이더 명령이 포함되어 있다. 정점 셰이더는, 정점색이나, 정점에의 텍스처의 적용 방법을 제어할 수 있다. 정점 셰이더 명령을 사용하는 것에 의해, 조명을 추가할 수 있다. 셰이더 명령 파일의 내용은 ASCII 텍스트이며, 읽을 수 있다. 또, 어느 의미로 어셈블리 언어와 유사하다. 정점 셰이더는, DrawPrimitive 또는 DrawIndexedPrimitive 호출의 뒤에 기동된다. SetVertexShader 를 사용해 새로운 셰이더 파일을 지정하는지, 스트림 데이터 입력을 사용해 ASCII 텍스트의 셰이더 파일내의 명령을 변경하는 것에 의해, 셰이더를 동적으로 바꿀 수가 있다. 「정점 셰이더 1_1 」에 셰이더 명령의 전일람이 있다.

명령 세트는 급속히 발전한다. 문제를 피하기 위한 명령 순서의 더 자세한 정보는, 하드웨어 메이커의 Web 사이트를 참조할것. 혹은,상위 레벨 셰이더 언어를 사용하면,Direct3D extension (D3DX)에 의해 효율적으로 컴파일 된 셰이더 명령을 얻을 수 있다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP