DirectX 기반의 3D FPS 게임 엔진 (hwp)
- 최초 등록일
- 2008.05.19
- 최종 저작일
- 2007.12
- 22페이지/
한컴오피스
- 가격 3,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
졸업프로젝트로 만든 DirectX 9 기반의 3D 게임 엔진 구현에 대한 논문입니다.
전반적으로 게임엔진 설계/구현의 개념잡기에 도움을 줍니다.
엔진은 3D를 구현하기 위한 개념적인 모듈로 독립설계하여 이해하기 쉽기 때문에 3D 구현의 원리를 학습하는 데에도 도움이 됩니다.
본 엔진을 실제 사용하여 일주일안에 간단한 FPS게임을 구현할 수도 있습니다.
본 자료에는 모든 소스코드가 포함되어 있지 않습니다.
각 모듈별로 class(C++)를 정의할 때, 각 멤버변수/함수를 정의한 부분코드가 포함되어 있습니다.
목차
1. 서론
2. 관련 연구
2-1. DirectX SDK
2-2. 게임 엔진 구성
3. First layer
3-1. Direct3D Module
3-2. Camera Module
3-3. DirectInput Module
3-4. List Module
3-5. Mesh Module
3-6. Object Module
3-7. Map Module
3-8. UI Module
3-9. Sound Module
3-10. Crash Module
4. Second layer / Tools
4-1. Object Tool
4-2. CrashObject Module
4-3. Map Tool
4-4. TileMap Module
4-5. Character Tool
4-6. BoneCharacter Module
5. Techniques
5-1. Update View
5-2. 2D surface picking
5-3. Fast overlap test for OBBs
5-4. Depth shadow
6. Shader로의 확장
7. 결론
8. 참고 문헌
본문내용
First layer는 엔진 중에서 가장 명확하게 분리되어 있는 모듈들로 구성되어 있다. 독립성이 가장 뛰어나서 엔진 전체를 가져올 필요 없이, 필요한 모듈만을 선택적으로 가져올 수 있다. 따라서 게임 뿐 아니라 각종 응용프로그램에서 사용가능하며, 필요 없는 부분은 포함할 필요가 없으므로 프로그램이 가벼워지게 된다.
Second layer는 독립성이 높아 원초적인 기능을 제공하던 First layer의 모듈들을 필요에 의해 수정/결합하여 원하는 기능에 좀 더 치중하되 더 강력한 기능을 제공할 수 있도록 제작된 모듈계층이다. 이를테면 본 연구에서는 FPS 장르에 초점을 맞추었기 때문에 FPS에서 요구되는 기능에 좀 더 치중하게 Second layer를 설계했다. Second layer도 다른 응용프로그램에서 재사용될 수 있지만 First layer보다 좀 더 제한적이게 된다.
이 때, First layer에서 Second layer에로의 결합을 쉽고 빠르고 직관적으로 제공하기 위하여 Tool을 제작했다. Tool을 사용하면 First layer에서 제공하는 기능들을 통하여 원하는 리소스를 직접 눈으로 보며 쉽게 제작할 수 있고, 이를 자체정의한 Data format으로 Export 하여 Second layer에서 로딩할 수 있다. 이런 Tool의 지원은 작업 능률을 대폭 향상시켜주어 엔진의 능력을 더욱 강력하게 만들어준다.
참고 자료
Frank D. Luna, “DirectX 9를 이용한 3D GAME 프로그래밍 입문,” 정보문화사, Feb. 2004.
김용준, “3D 게임 프로그래밍,” 한빛미디어, Mar. 2007.