DirectX 9 기반의 3D 게임 엔진 구현 (hwp)
- 최초 등록일
- 2008.05.19
- 최종 저작일
- 2008.02
- 4페이지/ 한컴오피스
- 가격 2,000원
소개글
졸업프로젝트로 만든 DirectX 9 기반의 3D 게임 엔진 구현에 대한 논문입니다.
전반적으로 게임엔진 설계/구현의 개념잡기에 도움을 줍니다.
엔진은 3D를 구현하기 위한 개념적인 모듈로 독립설계하여 이해하기 쉽기 때문에 3D 구현의 원리를 학습하는 데에도 도움이 됩니다.
본 엔진을 실제 사용하여 일주일안에 간단한 FPS게임을 구현할 수도 있습니다.
본 자료에는 소스코드가 포함되어 있지 않습니다.
프로젝트 결과에 대한 논문이며, 서식에 맞는 원본 hwp 문서입니다.
각 모듈의 헤더 정의소스가 포함된 자료(hwp)가 따로 있습니다.
목차
1. 서론
2. 관련연구
2.1 DirectX SDK
2.2 게임엔진 요구사항
3. 3D 게임 엔진 구현
3.1 First Layer
3.1.1 Direct3D Module
3.1.2 Camera Module
3.1.3 DirectInput / Sound Module
3.1.4 List Module
3.1.5 Mesh Module
3.1.6 Object Module
3.1.7 Map Module
3.1.8 UI Module
3.1.9 Crash Module
3.2 Second Layer / Tools
3.2.1 Object Tool
3.2.2 CrashObject Module
3.2.3 Map Tool
3.2.4 TileMap Module
3.2.5 Character Tool
3.2.6 BoneCharacter Module
4. 결론
5. 참고문헌
본문내용
3. 3D 게임 엔진 구현
본 논문에서 구현한 게임엔진은 현재 성능이 검증되어 널리 쓰이고 있는 알고리즘들을 엔진에 내포했다. 또한 기능 별로 분리된 독립적인 모듈로 구성하였으며, 필요한 모듈만을 포함시킬 수 있어서 필요이상으로 프로그램이 길어지는 일이 없고, 계층 구조로 구현하여 확장성과 재사용성을 더욱 높였다. 이러한 엔진의 특성을 따서 Pickable & Layered 3D 엔진(이하 PLay엔진)이라 명명했다. PLay엔진은 그림 1과 같이 가장 기반이 되는 모듈들(1st layer)과 이 모듈들을 조합하여 특정 기능을 확장한 모듈들(2nd layer), 그리고 확장한 모듈을 쉽게 사용할 수 있는 인터페이스를 제공해주는 간단한 툴(interface tool)들로 구성되어 있다. 즉, 기반 모듈들이 하나의 기초 계층(1st layer)을 구성하고, 이 위에 좀 더 확장한 계층(2nd layer)을 갖는 2-layer 구조를 갖고 있다. 따라서 필요에 따라 2nd layer만을 재설계하여 쉽게 엔진전체를 확장할 수 있는 장점이 있다.
그림 1. PLay엔진의 구조도
3.1 First layer
First layer는 엔진의 가장 기본이 되는 기능을 갖는 모듈들로 구성 되어있다. 즉, 렌더링, I/O, 사운드 등의 기능이 따로 분리되어 있으므로 게임 뿐 아니라 각종 응용프로그램에서 사용가능하며, 필요 없는 부분은 포함할 필요가 없으므로 프로그램의 확장성, 재사용성이 용이해진다.
3.1.1 Direct3D(D3D) Module
Direct3D 모듈은 3D를 표현함에 있어서 가장 기본적인 Rendering pipeline을 관리한다. DirectX에서는 Direct3D9과 Direct3DDevice9 객체가 이런 기능을 갖는 인터페이스이므로, 이 두 객체를 관리하는 모듈이라 할 수 있다.
참고 자료
Frank D. Luna, “DirectX 9를 이용한 3D GAME 프로그래밍 입문,” 정보문화사, Feb. 2004.
김용준, “3D 게임 프로그래밍,” 한빛미디어, Mar. 2007.