DirectX Graphics 프로그래밍 가이드 튜토리얼, 샘플, 툴, 힌트 샘플 메쉬의 샘플 Progressive Mesh 샘플 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Progressive Mesh 샘플에서는, Direct3D extension (D3DX) 메쉬 유틸리티 함수를 사용해, 파일 베이스의 메쉬를 로드해 최적화하는 방법을 나타낸다. 프로그래시브 메쉬에서는, 정점 정보가 특수한 트리에 보존되어 임의의 수의 정점을 지정해 메쉬를 렌더링 하기 위해서 액세스 하는 것이다. 이 처리는 고속의의로, 프로그래시브 메쉬는, 멀리 있는 개체가 적은 다각형으로 렌더링 되는 상세 레벨을 사용하는 경우에 적절하고 있다.
D3DX 의 더 자세한 정보는, Microsoft® DirectX® 소프트웨어 개발 킷 (SDK)의 메뉴얼을 참조할것.
소스 파일 : (SDK 루트) \Samples\C++\Direct3D\ProgressiveMesh
실행 가능 파일 : (SDK 루트) \Samples\C++\Direct3D\Bin
다음의 표는 , 처리 되고 있는 키를 나타내고 있다. 메뉴 커멘드를 사용해 같은 조작을 실시할 수가 있다.
키 | 동작 |
---|---|
Enter | 장면을 시작 및 정지한다. |
Space 키 | 장면을 조금씩 진행한다. |
F1 | 헬프 또는 사용 가능한 커멘드를 표시한다. |
F2 | 새로운 렌더링 장치 또는 디스플레이 모드를 선택하도록(듯이) 사용자에 지시한다. |
Alt+Enter | 풀 스크린 모드와 윈도우 모드를 바꾼다. |
Esc | 애플리케이션을 종료한다. |
상 커서 키 | 프로그래시브 메쉬에 정점을 1 개 추가한다. |
하 커서 키 | 프로그래시브 메쉬로부터 정점을 1 개 줄인다. |
PageUp 키 | 프로그래시브 메쉬에 정점을 100 개 추가한다. |
PageDown 키 | 프로그래시브 메쉬로부터 정점을 100 개 줄인다. |
Home | 프로그래시브 메쉬에 사용 가능한 정점을 모두 표시한다. |
End | 프로그래시브 메쉬의 최저한의 정점을 표시한다. |
DirectX SDK 에 포함되는 많은 Microsoft Direct3D® 의 샘플에서는, 파일 베이스의 메쉬가 사용되고 있다. ProgressiveMesh 샘플은, 메쉬를 로드하는데 필요한 기본적인 코드가 좋은 예이다. D3DX 메쉬 로드 기능은,. x 파일의 프레임 계층을 1 개의 메쉬에 정리한다.
프로그래시브 메쉬를 사용하는 제 1 의 이유는, 메쉬에 대해 ID3DXPMesh::SetNumVertices 를 호출하는 것이다.
다른 샘플에서는, 기본적인 D3DX 메쉬 기능은 공통 클래스 CD3DMesh 에 랩 되고 있다. 프레임 계층을 보관 유지하는 경우는, 공통 클래스 CD3DFile 를 사용할 수 있다.
이 샘플에서는, 헬퍼-함수등의 프로그래밍 요소로부터 구성되는 공통의 DirectX 코드를 사용하고 있다. 이 코드는 DirectX SDK 외 샘플과 공유되고 있다. 샘플 프레임워크(framework)의 헤더는 (SDK 루트)\Samples\C++\Common\Include, 소스 코드는 (SDK 루트) \Samples\C++\Common\Src 에 있다.