DirectX Graphics 프로그래밍 가이드 튜토리얼, 샘플, 툴, 힌트 샘플 Clip Mirror 샘플 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Clip Mirror 샘플에서는, 독자적으로 정의한 클립면의 사용법을 나타낸다. 우선 3D 장면을 보통 대로 렌더링 해, 2 번째의 패스로 평면의 거울에 반사된 것처럼 렌더링 한다. 클립면은, 반사된 장면(scene)를 거울의 엣지에서 잘라내기 위해서(때문에) 사용한다.
소스 파일 : (SDK 루트) \Samples\C++\Direct3D\ClipMirror
실행 가능 파일 : (SDK 루트) \Samples\C++\Direct3D\Bin
다음의 표는 , 처리 되고 있는 키를 나타내고 있다. 메뉴 커멘드를 사용해 같은 조작을 실시할 수가 있다.
키 | 동작 |
---|---|
Enter | 장면을 시작 및 정지한다. |
Space 키 | 장면을 조금씩 진행한다. |
F2 | 새로운 렌더링 장치 또는 디스플레이 모드를 선택하도록(듯이) 사용자에 지시한다. |
Alt+Enter | 풀 스크린 모드와 윈도우 모드를 바꾼다. |
Esc | 애플리케이션을 종료한다. |
이 샘플에서는, 마우스를 사용해 시점의 위치를 제어할 수 있다.
이 샘플의 주된 특징은, 클립면의 사용법이다. 직사각형의 거울에는 4 개의 엣지가 있으므로, 4 개의 클립면이 사용된다. 각 클립면은, 시점과 거울의 1 개의 엣지의 2 개의 정점에 의해 정의된다. 클립면을 배치하면 뷰 행렬을 거울의 평면에서 반전시켜, 장면의 지오메트리 (주전자 개체)를 보통 대로 렌더링 한다. 마지막으로, 거울 자체를 나타내는 반투명의 직사각형을 드로잉(Drawing) 한다.
이 샘플에서는, 헬퍼-함수등의 프로그래밍 요소로부터 구성되는 공통의 Microsoft® DirectX® 코드를 사용하고 있다. 이 코드는 DirectX 소프트웨어 개발 킷 (SDK) 외 샘플과 공유되고 있다. 샘플 프레임워크(framework)의 헤더는 (SDK 루트)\Samples\C++\Common\Include, 소스 코드는 (SDK 루트) \Samples\C++\Common\Src 에 있다.