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

프로그래밍 가능한 파이프라인


Microsoft DirectX® 9.0 의 Microsoft® Direct3D® 에서는, 정점 변환 & 조명 파이프라인과 픽셀 텍스처 혼합 파이프라인의 동작을 지정하기 위해서 수속형 모델을 사용한다.

프로그램 모델 베이스의 구문을 사용해 하드웨어의 동작을 지정하는 것에는, 많은 이점이 있다.

우선, 수속형 모델에서는, 보다 일반적인 구문을 사용해 공통의 조작을 지정할 수 있다. 고정 기능 애플리케이션 프로그래밍 인터페이스 (API)에서는, 프로그래밍 가능한 것으로는 대조적으로, 표현할 필요가 있는 수많은 처리에 대해 모드나 플래그등을 정의해야 한다. 게다가 하드웨어의 능력이 향상 하면 (색·텍스처·정점 스트림등이 증가 하면), 데이터 입력수로 곱셈된 처리의 토큰 공간이 복잡하게 된다. 한편, 프로그래밍 가능한 모델에서는, 적절한 색 및 적절한 텍스처를 조명 모델의 적절한 부분에 적용하는 등의 간단한 처리를, 직접적인 방법으로 실행할 수 있다. 사용 가능한 모든 모드를 검색할 필요가 없고, 컴퓨터의 아키텍처를 이해해, 실행하는 적절한 알고리즘을 지정하는 것만으로 끝난다.

예를 들어, 다음과 같은 기존의 기능을 지원 할 수 있다.

다음에, 수속형 모델은, 새로운 처리를 개발하기 위한 간단한 메카니즘을 제공한다. 실행할 필요가 있는 처리의 대부분이, 현재의 API 에서는 지원되지 않은 것이 있다. 많은 경우, 이것은 하드웨어의 능력의 제한에 의하는 것은 아니고, API 의 제한에 의하는 것이다. 일반적으로, 이러한 처리는, 고정 기능의 API 를 API 의 설계자가 예상하지 않은 방법으로 무리하게 사용해 같은 동작을 추출하는 것보다도, 단순하고, 고속으로 있다.

일반적으로 처리이 예상되는 새로운 기능에는, 다음과 같은 것이 있다.

제 3 에, 수속형 모델은 확장성과 발전성을 제공한다. 하드웨어의 능력은 급속히 발전 계속 하고 있어, 프로그램에 의한 표현은 매우 측정할 수 있는의로, 같은 API 에 의한 프로그램이 그 발전에 맞추어 고층화가 가능하다. 다음의 처리에 의해, 새로운 기능 및 능력을 간단하게 공개해, 추가할 수가 있다.

코드는, 복잡한 처리를 표현하기 위한 최적인 스케일링 프로퍼티를 가지는 표현이다. 게다가 프로그래밍 가능한 셰이더에 추가된 새로운 기능에 대해, Direct3D 내부에서 변경해야 하는 코드는 매우 적다.

제 4 에, 수속형 모델은 쉽게 친숙 해지다. 소프트웨어 개발자에게 있어서는, 하드웨어보다 프로그래밍이 이해하기 쉽다. 소프트웨어 개발자의 요구를 채우는 API 는, 하드웨어의 기능을 코드 패러다임(paradigm)에 맵핑 해야 하는 것이다.

제 5 에, 수속형 모델은, 포토 리얼 렌더링의 유산을 계승하고 있다. 고급 지향의 포토 리얼 렌더링에서는, 오랜 세월에 걸쳐서, 프로그래밍 가능한 셰이더가 사용되어 왔다. 일반적으로, 이 분야는 퍼포먼스의 제약을 받지 않기 때문에, 프로그래밍 가능한 셰이더에 의해, 렌더링 기술의 타협이 없는, 궁극의 목표가 표현된다.

마지막으로, 수속형 모델에 의해, 하드웨어에의 직접적인 맵핑이 가능하게 된다. 최신의 3D 하드웨어는, 적어도 정점 처리 스테이지에서는, 실제로는 꽤 프로그래밍 가능한이다. API 에 의한 프로그래밍 가능성에 의해, 애플리케이션이 직접 이 하드웨어에 맵핑 할 수 있도록(듯이) 하는 것으로써, 요건에 응해 하드웨어 리소스를 관리할 수 있다. 실행할 수 있는 레지스터나 명령이 제한되고 있는 경우, 그 모든 기능을 가지는 고정 기능의 처리을 개별적으로 유효하게 하는 것은 곤란하다. 공유 리소스를 필요로 하는 많은 기능을 한 번에 유효하게 하면, 예기치 않은 방법으로 동작이 정지하는 경우가 있다. 프로그래밍 가능한 API 모델에서는, DirectX 의 전통에 따라, 애플리케이션 개발자가 직접 하드웨어를 조작해, 이러한 제한을 의식하지 않고 끝나도록(듯이) 해, 이 문제를 회피하고 있다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP