DirectX Graphics 프로그래밍 가이드 튜토리얼, 샘플, 툴, 힌트 샘플 Pick 샘플 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Pick 샘플에서는, 피킹을 처리 하는 방법을 나타낸다. 피킹이란, 메쉬내의 어느 삼각형이 레이에 해당될까를 찾아내는 것이다. 여기에서는, 레이는 마우스 좌표로 지정한다.
소스 파일 : (SDK 루트) \Samples\C++\Direct3D\Pick
실행 가능 파일 : (SDK 루트) \Samples\C++\Direct3D\Bin
다음의 표는 , 처리 되고 있는 키를 나타내고 있다. 메뉴 커멘드를 사용해 같은 조작을 실시할 수가 있다.
키 | 동작 |
---|---|
Enter | 장면을 시작 및 정지한다. |
Space 키 | 장면을 조금씩 진행한다. |
F2 | 새로운 렌더링 장치 또는 디스플레이 모드를 선택하도록(듯이) 사용자에 지시한다. |
Alt+Enter | 풀 스크린 모드와 윈도우 모드를 바꾼다. |
Esc | 애플리케이션을 종료한다. |
마우스를 사용해 메쉬내의 임의의 스포트를 픽 하면, 그 삼각형이 표시된다.
마우스를 클릭 하면, 커서의 화면 좌표가 읽어내진다. 이러한 좌표는, 투영 행렬 및 뷰 행렬에 의해 변환되어, 시점으로부터 스크린 위에의 클릭한 위치를 지나 장면(scene)에 이르는 레이로 바뀐다. 이 레이는, 로드 된 모델의 각 삼각형과 함께 IntersectTriangle 에게 건네져 어느 삼각형이 레이에 해당될지가 결정된다. 맞는 삼각형의 텍스처 좌표도 결정된다.
이 샘플에서는, 헬퍼-함수등의 프로그래밍 요소로부터 구성되는 공통의 Microsoft® DirectX® 코드를 사용하고 있다. 이 코드는 DirectX 소프트웨어 개발 킷 (SDK) 외 샘플과 공유되고 있다. 샘플 프레임워크(framework)의 헤더는 (SDK 루트)\Samples\C++\Common\Include, 소스 코드는 (SDK 루트) \Samples\C++\Common\Src 에 있다.