Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
3Activity
0 of .
Results for:
No results containing your search query
P. 1
Simple 3D Engine

Simple 3D Engine

Ratings: (0)|Views: 138 |Likes:
An essay for the 2011 Undergraduate Awards (Lecturer Nomination) Competition by David Bogues. It is nominated by Lecturer simon mccabe of Letterkenny Institute of Technology in the category of Computer Science & Information Studies
An essay for the 2011 Undergraduate Awards (Lecturer Nomination) Competition by David Bogues. It is nominated by Lecturer simon mccabe of Letterkenny Institute of Technology in the category of Computer Science & Information Studies

More info:

Published by: Undergraduate Awards on Sep 01, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
See more
See less

10/27/2013

 
 Development of a Simple 3D Game Engine
 
 Development of a Simple 3D Game Engine
1
Table of Contents
1
 
ABSTRACT ..................................................................................................................................... 5
 
2
 
INTRODUCTION ........................................................................................................................... 6
 
2.1
 
A
IMS
............................................................................................................................................ 6
 
2.2
 
O
BJECTIVES
................................................................................................................................. 6
 
3
 
PROJECT SCOPE .......................................................................................................................... 7
 
3.1
 
M
ODELS AND
M
ATERIALS
........................................................................................................... 7
 
3.2
 
A
NIMATION
S
YSTEM
................................................................................................................... 7
 
3.3
 
M
ATH
,
 
P
HYSICS AND
C
OLLISION
D
ETECTION
.............................................................................. 7
 
3.4
 
R
ENDERING
S
YSTEM
................................................................................................................... 8
 
3.5
 
M
ODEL
E
DITOR
........................................................................................................................... 8
 
3.6
 
E
NGINE
V
IEWER
.......................................................................................................................... 8
 
3.7
 
G
AMEPLAY
D
EMO
....................................................................................................................... 8
 
4
 
WORK PLAN .................................................................................................................................. 9
 
4.1
 
S
EMESTER
1 ................................................................................................................................. 9
 
4.2
 
S
EMESTER
2 ............................................................................................................................... 10
 
5
 
LITERATURE REVIEW ............................................................................................................. 11
 
5.1
 
I
NTRODUCTION
.......................................................................................................................... 11
 
5.2
 
G
AME
E
NGINE
A
RCHITECTURE
.................................................................................................. 11
 
5.3
 
3
RD
P
ARTY
SDK
S
...................................................................................................................... 13
 
5.3.1
 
Simple DirectMedia Layer (SDL) ...................................................................................... 13
 
5.3.2
 
OpenGL.............................................................................................................................. 13
 
5.3.3
 
 LIB3DS .............................................................................................................................. 13
 
5.4
 
P
LATFORM
I
NDEPENDENCE
L
AYER
............................................................................................ 14
 
5.4.1
 
Windowing System ............................................................................................................. 14
 
5.4.2
 
 Rendering System ............................................................................................................... 14
 
5.4.2.1
 
Vertex Arrays ............................................................................................................................. 15
 
5.4.2.2
 
Vertex Buffer Objects (VBOs) ................................................................................................... 15
 
5.4.3
 
 Input System ....................................................................................................................... 15
 
5.5
 
C
ORE
S
YSTEM
........................................................................................................................... 15
 
5.5.1
 
 Math Library ...................................................................................................................... 15
 
5.5.2
 
C Math and Standard Template Library (STL) .................................................................. 17 
 
5.6
 
R
ESOURCE
M
ANAGER
............................................................................................................... 17
 
5.6.1
 
OBJ File Type .................................................................................................................... 17 
 
5.6.2
 
 MTL File Type ................................................................................................................... 18 
 
5.6.3
 
Texture Loader ................................................................................................................... 19
 
5.6.4
 
 Animation System ............................................................................................................... 19
 
5.6.4.1
 
Skeletal Animation Tree Structure.............................................................................................. 19
 
5.6.4.2
 
Morph Targets ............................................................................................................................ 19
 
5.6.4.3
 
Linear Interpolation .................................................................................................................... 20
 
5.7
 
P
HYSICS
S
YSTEM
....................................................................................................................... 21
 
5.7.1
 
 Bounding Spheres .............................................................................................................. 21
 
5.7.2
 
Creating the Collision Sphere ............................................................................................ 21
 
5.7.3
 
Sphere - Sphere Collision Detection .................................................................................. 21
 
5.7.4
 
Sphere - Plane Collision Detection .................................................................................... 22
 
6
 
REQUIREMENTS ........................................................................................................................ 23
 
6.1
 
M
ODELS AND
M
ATERIALS
......................................................................................................... 23
 
6.2
 
A
NIMATION
S
YSTEM
................................................................................................................. 23
 
6.3
 
M
ATH
,
 
P
HYSICS AND
C
OLLISION
D
ETECTION
............................................................................ 24
 
6.4
 
R
ENDERING
S
YSTEM
................................................................................................................. 24
 
6.5
 
M
ODEL
E
DITOR
......................................................................................................................... 24
 
6.6
 
M
ODEL
V
IEWER
........................................................................................................................ 25
 
6.7
 
G
AMEPLAY
D
EMO
..................................................................................................................... 25
 
 
 Development of a Simple 3D Game Engine
27
 
DESIGN .......................................................................................................................................... 26
 
7.1
 
C
LASS
D
ESCRIPTIONS
................................................................................................................ 27
 
7.2
 
M
ODELS AND
M
ATERIALS
......................................................................................................... 27
 
7.3
 
A
NIMATION
S
YSTEM
................................................................................................................. 29
 
7.4
 
M
ATH
,
 
P
HYSICS AND
C
OLLISION
D
ETECTION
............................................................................ 29
 
7.5
 
R
ENDERING
S
YSTEM
................................................................................................................. 29
 
7.6
 
M
ODEL
E
DITOR
......................................................................................................................... 29
 
7.6.1
 
OBJX and MTLX File Formats .......................................................................................... 30
 
7.6.2
 
 Engine Editor GUI ............................................................................................................. 31
 
7.7
 
M
ODEL
V
IEWER
........................................................................................................................ 31
 
7.7.1
 
Windows and Mac OS X Viewer ........................................................................................ 31
 
7.7.2
 
iOS Viewer ......................................................................................................................... 32
 
7.8
 
G
AMEPLAY
D
EMO
..................................................................................................................... 32
 
8
 
IMPLEMENTATION ................................................................................................................... 33
 
8.1
 
M
ODELS AND
M
ATERIALS
......................................................................................................... 33
 
8.1.1
 
 ResourceManager Class (R5) ............................................................................................ 33
 
8.1.2
 
OBJ File Loader (R1, R2, R7, R8, R32
 – 
R35) ................................................................. 33
 
8.1.3
 
 MTL File Loader (R4, R5) ................................................................................................. 34
 
8.2
 
A
NIMATION
S
YSTEM
(R10
 
 – 
 
 R18)
.............................................................................................. 35
 
8.3
 
M
ATH
,
 
P
HYSICS AND
C
OLLISION
D
ETECTION
............................................................................ 37
 
8.3.1
 
 MathLib Class (R20, R21, R23) ......................................................................................... 37 
 
8.3.2
 
Sphere
 – 
Sphere Collision Detection
(R24, R26, R41)
...................................................... 38 
 
8.3.3
 
Sphere
 – 
Collision Mesh Collision Detection
 
(R22, R25, R27, R28) ................................. 39
 
8.4
 
R
ENDERING
S
YSTEM
 
(R1
 
 – 
 R8,
 
 R29
 
 – 
 
 R35)
................................................................................ 40
 
8.5
 
E
NGINE
E
DITOR AND
T
ESTER
.................................................................................................... 40
 
8.5.1
 
OBJX Model Format 
(R7
 – 
R9, R32
 – 
R35, R37
 – 
R40, R42 - R44)
................................ 42
 
8.5.2
 
 MTLX Format 
(R6, R36)
................................................................................................... 42
 
8.6
 
M
ODEL
V
IEWER
(R45
 
 – 
 
 R49)
..................................................................................................... 44
 
8.7
 
G
AMEPLAY
D
EMO
(R50
 
 – 
 
 R53)
................................................................................................. 45
 
9
 
TESTING ....................................................................................................................................... 46
 
9.1
 
M
ODELS AND
M
ATERIALS
......................................................................................................... 46
 
9.2
 
A
NIMATION
S
YSTEM
................................................................................................................. 46
 
9.3
 
M
ATH
,
 
P
HYSICS AND
C
OLLISION
D
ETECTION
............................................................................ 46
 
9.4
 
R
ENDERING
S
YSTEM
................................................................................................................. 47
 
9.5
 
M
ODEL
E
DITOR
......................................................................................................................... 47
 
9.6
 
M
ODEL
V
IEWER
........................................................................................................................ 47
 
9.7
 
G
AMEPLAY
D
EMO
..................................................................................................................... 47
 
10
 
DISCARDED FUNCTIONALITY ............................................................................................. 48
 
10.1
 
3DS
 
M
ODEL
S
UPPORT
............................................................................................................. 48
 
10.2
 
M
ORPH
T
ARGETS
..................................................................................................................... 48
 
10.3
 
S
PHERE
 – 
 
C
OLLISION
M
ESH
C
OLLISION
D
ETECTION
............................................................... 48
 
11
 
CONCLUSION ............................................................................................................................ 49
 
12
 
REFERENCES ............................................................................................................................ 51
 
13
 
BIBLIOGRAPHY ........................................................................................................................ 52
 
14
 
APPENDIX ................................................................................................................................... 53
 
15
 
CODE ............................................................................................................................................ 63
 

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->