DirectX Graphics 프로그래밍 가이드 튜토리얼, 샘플, 툴, 힌트 샘플 범프 맵핑의 샘플 Emboss 샘플 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Emboss 샘플에서는, Microsoft® Direct3D® 의 범프 맵핑의 다른 어프로치를 나타낸다. 앰보스는 자기 자신으로부터 높이 맵을 꺼내, 조금 변경된 텍스처 좌표를 가지는 것에 의해 행해진다.
Direct3D 의 범프 맵핑을 지원 하고 있지 않는 카드도 있다. 더 자세한 정보는, Microsoft DirectX® 소프트웨어 개발 킷 (SDK)의 메뉴얼을 참조할것.
소스 파일 : (SDK 루트) \Samples\C++\Direct3D\Emboss
실행 가능 파일 : (SDK 루트) \Samples\C++\Direct3D\Bin
다음의 표는 , 처리 되고 있는 키를 나타내고 있다. 메뉴 커멘드를 사용해 같은 조작을 실시할 수가 있다.
키 | 동작 |
---|---|
Enter | 장면을 시작 및 정지한다. |
Space 키 | 장면을 조금씩 진행한다. |
F2 | 새로운 렌더링 장치 또는 디스플레이 모드를 선택하도록(듯이) 사용자에 지시한다. |
Alt+Enter | 풀 스크린 모드와 윈도우 모드를 바꾼다. |
Esc | 애플리케이션을 종료한다. |
Ctrl+E | 앰보스 이펙트의 온/오프를 바꾼다. |
범프 맵은 섭동 데이터를 보존하는 텍스처이다. 범프 맵핑은 2 개의 텍스처를 필요로 한다. 1 개는 환경 맵으로, 장면(scene)내에서 표시되는 라이트가 포함된다. 이제 1개는 실제의 범프 맵핑이며, 환경 맵의 텍스처 좌표를 범프 하기 위해서 사용되는 값 (du 및 dv)이 포함된다. 일부의 범프 맵에서는, 특정의 텍셀의 빛남을 제어하는 휘도(Luminance)의 값도 포함된다.
이 샘플에서는, 범프 맵핑은 범의 표피의 앰보스에 사용되고 있다.
이 샘플에서는, 헬퍼-함수등의 프로그래밍 요소로부터 구성되는 공통의 DirectX 코드를 사용하고 있다. 이 코드는 DirectX SDK 외 샘플과 공유되고 있다. 샘플 프레임워크(framework)의 헤더는 (SDK 루트)\Samples\C++\Common\Include, 소스 코드는 (SDK 루트) \Samples\C++\Common\Src 에 있다.