DirectX Graphics 프로그래밍 가이드 고도의 주제 정점 파이프라인 고차원 기본도형   [목차열람] [주소복사] [슬롯비우기]
고차원 기본도형
 
Microsoft DirectX 9.0

고차원 기본도형


Microsoft® Direct3D® for Microsoft DirectX® 9.0 에서는, 포인트·라인·삼각형·그리드 기본도형를 지원 하고 있다. 이것들을 확장해, 선형 보간을 넘는 고차원 보간을 지원 한다. 삼각형이나 선은 공간적인 확대가 있는 것에도 불구하고, 지금까지는 선형 보간을 사용해 렌더링 되고 있었다. DirectX 9.0 에서는, Direct3D 가, 고차원 (최대 5 차까지의) 보간을 사용하는 이러한 기본도형 타입의 렌더링을 지원 하고 있다. 또, 새로운 사각형 기본도형 타입이 지원 되고 있다. 이 새로운 타입도 고차원 보간을 사용해 렌더링 된다. 이러한 기능은, 본래는 애니메이션이나 캐릭터의 렌더링의 필요성으로부터 추가되었다. 그러나, 지형이나 수면이라고 하는 표면에도 응용할 수 있다.

고차원 기본도형는, 리스트·스트라이프·팬, 또는 인덱스화 된 메쉬로서 애플리케이션 프로그래밍 인터페이스 (API)에 전송 될 때, 고차원 보간을 지원 한다. 이것은, 정점 자체에 encode 된 추가 정보를 사용해 실행된다. 예를 들어, 삼차 보간을 유효하게 하기 위해서, 법선 벡터를 사용해 정점 위치의 접면을 정의할 수 있다. 대부분의 처리에서는, 평면의 삼각형에의 테설레이션에 의해 고차원 보간을 지원 한다. 테설레이션의 스텝은, 논리적으로 정점 셰이더 스테이지의 앞에 적용된다. 정점 셰이더 API 는 입력 데이터에 의미들을 적용하지 않기 때문에, 좌표 위치 및 옵션으로 법선 벡터를 나타내는 정점 스트림 성분을 식별하기 위한 특별한 메카니즘이 준비되어 있다. 그 외 모든 성분은 거기에 응해 보간 된다.

여기에서는, 고차원 원시적에 대해 설명해, 애플리케이션내에서의 사용법을 해설한다. 설명하는 주제는, 다음과 같다.

세분도 증가에 의한 품질 향상

현재의 기본도형는, 매끄러운 표면의 표현에 최적인 것이라고는 할 수 없다. 곡면의 렌더링에, 삼차 다항식등의 고차원 보간 테크닉을 사용하면 보다 정확한 계산을 실시할 수가 있다. 이것에 의해, 실루엣의 인연이나 스펙큐러 표면 조명에 나타나는 부자연스러운 효과를 삭감 또는 해소해, 보다 리얼한 표현이 가능하게 된다. 게다가 팁상에서 테설레이션을 할 때, 테세레이트 된 삼각형은, 버스의 대역폭에 영향을 주지 않는다. 많은 경우, 소량의 테설레이션에 의해, 퍼포먼스에 너무 영향을 주는 일 없이, 이미지의 품질을 향상시킬 수가 있다.

Direct3D for DirectX 9.0 에서는, 기존의 다각형 지향의 툴이나 아트 파이프라인으로 생성 된 컨텐츠의 세분도를, 간단한 방법으로 향상시킬 수가 있다. 애플리케이션이 해야 할것은, 필요한 레벨의 테설레이션을 제공하는 것으로, 법선 벡터를 포함한 표준적인 삼각형의 문장구조법을 사용해 데이터를 전송 하는 것 뿐이다.

스플라인 베이스의 툴로부터의 직접 맵핑

현재, 많은 authoring tool가 고차원 기본도형를 지원 하고 있어, 보통의 평면 삼각형 메쉬보다 강력한 모델링 처리를 실현하고 있다. 이러한 툴은, 타당한 수의 패치가 생성되는 것 같은 효율적인 사용법을 하면, API 로 직접 렌더링 할 수 있는 것 같은 컨텐츠를 생성 할 수 있다. 이 요건을 채우기 (위해)때문에, 들어 오는 정점 데이터 스트림을 제어 포인트의 2D 배열로서 해석해, 필요한 세분도에 테세레이트 하는 새로운 엔트리 포인트를 추가했다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP