vii TABLE OF CONTENTS CHAPTER TITLE

advertisement
vii
TABLE OF CONTENTS
CHAPTER
TITLE
DECLARATION
DEDICATION
ACKNOWLEDGEMENT
ABSTRACT
ABSTRAK
TABLE OF CONTENTS
LIST OF TABLES
LIST OF FIGURES
LIST OF ABBREVIATIONS
LIST OF SYMBOLS
LIST OF APPENDICES
PAGE
ii
iii
iv
v
vi
vii
xi
xii
xvi
xvii
xviii
1
INTRODUCTION
1.1 Introduction
1.2 Problem Background
1.3 Problem Statement
1.4 Aims
1.5 Objectives
1.6 Research Justification
1.7 Scope and Research Limitations
1.8 Thesis Organization
1
1
3
7
8
9
9
10
10
2
LITERATURE REVIEW
2.1 Introduction
2.2 History of Driving Simulator
2.3 Driving Simulator and Its Application
2.4 Key Elements in Driving Simulator
2.5 Real-Time Rendering in Driving Simulator
12
12
13
15
19
21
viii
3
4
2.6 The Graphics Rendering Pipeline
2.7 3D Scene Management
2.7.1
Spatial Data Structures
2.7.1.1 Bounding Volume Hierarchy (BVH)
2.7.1.2 Binary Space Partitioning Tree
2.7.1.3 kD-tree
2.7.1.4 Octree
2.7.2
Level of Detail (LOD)
2.7.3
Visibility Culling
2.7.3.1 Back-Face Culling
2.7.3.2 View Frustum Culling
2.7.3.3 Occlusion Culling
2.8 Previous Works in Online Occlusion Culling Algorithm
2.8.1
Hierarchical Z-Buffering
2.8.2
Hierarchical Occlusion Map
2.8.3
Hardware Occlusion Queries
2.9 Discussion
23
26
27
28
29
30
30
31
32
33
34
35
36
37
38
39
41
RESEARCH METHODOLGY
3.1 Introduction
3.2 Development Processes of UTM Driving Simulator
3.2.1
Simulation Physic of a Car
3.2.2
Rendering Methods for 3D Driving Simulation
Environment
3.2.2.1 Pre-processing
3.2.2.2 Online Processing
3.2.3
Hardware and Software Specifications
3.3 Experimental Setup of Proposed Algorithm
3.3.1
Environment Settings
3.4 Summary
44
44
46
48
ADAPTIVE COHERENCE HIERACHICAL CULLING
4.1 Introduction
4.2 Coherent Hierarchical Culling
4.3 Adaptive Coherence Hierarchical Culling based on the
Speed of Car Movement and Varying Visibility Threshold
Values
4.3.1
Speed of Car Movement
51
53
62
66
67
67
72
75
75
76
78
80
ix
5
6
REFERENCES
4.3.2
Varying Visibility Thresholds
4.3.3
The Proposed Adaptive Algorithm
4.4 Summary
82
87
89
RESULT AND DISCUSSION
5.1 Introduction
5.2 Evaluation of the Proposed Method
5.2.1
Rendering Performance
5.2.2
Realism of Rendering
5.3 Evaluation of Rendering Performance in View Frustum
Culling
5.4 Rendering Performance Evaluation to the Implementation
of Coherent Hierarchical Culling Algorithm
5.5 Rendering Performance Evaluation to the Implementation
of the Proposed Adaptive Algorithm Based on Speed of Car
Movement
5.6 Rendering Performance Evaluation of the Proposed
Adaptive Algorithm Based on Speed of Car Movement and
Varying Visibility Threshold Values
5.7 Realism Evaluation of the Original CHC Algorithm
5.8 Realism Evaluation of the Proposed Adaptive CHC
Algorithm
5.9 Discussion
5.10 Summary
91
91
92
92
93
CONCLUSION AND FUTURE WORKS
6.1 Research Summary
6.2 Contribution
6.3 Future Works
6.3.1
Static and Dynamic Objects
6.3.2
GPU-Based Techniques
6.3.3
Game Engine Integration
6.3.4
Other Parameters
94
98
101
103
105
105
108
111
112
112
114
115
115
115
116
116
117
x
Appendix A
124
xi
LIST OF TABLES
TABLE NO.
TITLE
2.1
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
4.1
Previous algorithm on hardware occlusion queries features.
Physic Algorithm.
Typical chuck structure
Octree Algorithm.
View Frustum Culling Algorithm.
Algorithm to create cube bounding box.
Hardware occlusion queries algorithm.
Hierarchical stop and wait method.
Hardware and software specifications.
3D models triangles count.
Parameters for application specifications.
Coherent Hierarchical Culling algorithm.
PAGE
41
52
54
59
61
63
64
65
66
70
72
79
xii
LIST OF FIGURES
FIGURE NO.
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
2.18
2.19
TITLE
Antoinette is first training rig for flight simulator (Slob,
2008).
Low level fidelity of driving simulator.
Medium level fidelity of driving simulator.
High level fidelity of driving simulator
Functional elements in driving simulator.
The evolution of visual system in driving simulator over
years (Allen et al., 2010).
Human-in-the-Loop (Human-in-the-Loop (HITL)) architecture in driving simulator (Liao, 2006)
Elements in a 3D object.
High details to low details 3D model with varying number
of faces.
A scene geometry in driving simulator environment.
Rendering 3D objects concept (Moller et al., 2008).
Rendering pipeline.
Object hierarchies verse space subdivision (Mattausch,
2010).
Bounding sphere hierarchy and its object hierarchy
representation. (Moller et al., 2008).
BSP tree. (Moller et al., 2008).
kD-tree. (Moller et al., 2008).
Octree subdivision. (Moller et al., 2008).
A rabbit model is simplified. (Moller et al., 2008).
Creating levels of detail or LODs to reduce the rendering
cost based on contribution of geometry. (Moller et al.,
2008).
PAGE
14
17
17
18
19
20
22
23
24
24
25
26
28
29
29
30
31
31
32
xiii
2.20
2.21
2.22
2.23
2.24
2.25
2.26
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
3.22
3.23
3.24
3.25
A frame that has high depth complexity.. (Moller et al.,
2008).
View frustum, backface culling and occlusion
culling. (Staffans, 2006).
View vector and normal vector to perform back-face
culling. (Zamri, 2006).
Hierarchical view frustum culling. (Moller et al., 2008).
The hierarchical Z-buffer. (Greene et al., 1993).
The hierarchical occlusion map. (Zhang et al., 1997).
Research focus area for the literature reviews.
Research methodology
Steps for creating a driving simulator (Jia et al., 2007)
UTM Driving simulator.
Software design.
Hardware architecture.
Simulation of physic car on road surfaces
Create mass of car.
Create box geometry for collision detection.
Pre-processing process and online processing integration
Pre-processing process
Hierarchical fashion of used chucks
Class Cload3DS handle loading code.
Reading Chunk ID and Model information to store to 3D
database.
Constructing hierarchical scene processes.
Partioning space in octree.
Six plane of view frustum (Zamri, 2006)
Fill mode bounding volumes issued to GPU.
Integration hierarchical structure and hardware occlusion
queries.
Steering Wheel.
Straight road in testing area using hierarchical octree
subdivision in Scene 1.
Hill and curvy road in testing area of Scene 2.
Inside view from car’s driver.
Outside view shows the cars involve in road
Two models used as dynamic moving objects.
Number of rendered cars difference based on number lanes
used in Scene 1.
32
33
34
35
38
39
43
45
47
48
49
50
50
51
51
53
54
55
55
56
57
58
60
63
65
66
68
69
69
70
71
73
xiv
3.26
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
Difference number of cars used in Scene 2.
Diagram of the CHC algorithm.
Queue concepts.
CHC process.
Diagram of the adaptive CHC algorithm.
Speed of car movement and varying visibility threshold
parameters used in adaptive algorithm.
Scene in city driving and open highway (Vehicles and
Motor, 2006).
Distance culling based on look ahead distance of the car.
Changes of threshold affect number of cars rendered.
Normal visibility threshold and varying visibility thresholds.
Level 1 of without cascaded visibility threshold based on
certain distances.
Level 2 of cascaded visibility threshold based on certain
distances.
Level 3 of cascaded visibility threshold based on certain
distances.
Level 4 of cascaded visibility threshold based on certain
distances.
Adaptive algorithm based on distance of drivers look
ahead and automatic varying visibility thresholds to CHC
algorithm.
View frustum culling with default length of far plane.
Visual output resulted from view frustum culling.
Rendered car against car speed in the Scene 1.
Rendered car in 1000 frame numbers in Scene 2.
Frame per second against car speed driven by user in Scene
1.
Frame per second against frames numbers in Scene 2.
Rendered cars against car speed driven by user in Scene 1.
Rendered cars against car speed driven by user in the Scene
2.
Rendering performances between previous and integrated
CHC implementation in Scene 1.
Rendering performances between previous and integrated
CHC implementation in Scene 2.
74
76
77
78
80
81
82
83
84
85
86
86
87
87
89
94
95
96
96
97
98
99
99
100
101
xv
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
Rendered cars against car speed driven by user in Scene 1
with and without distance culling.
Rendering performances between integrated CHC and
adaptive algorithm based look ahead distance implementation in Scene 1.
Number of rendered cars against speed of car in performing
varying visibility thresholds.
FPS against speed of car in performing varying visibility
thresholds.
Visual output resulted from CHC algorithm.
Visual output resulted from CHC algorithm with look
ahead distance based on speed to perform distance culling.
Visual output resulted from CHC algorithm with Level 2 of
varying visibility thresholds.
Visual output resulted from Coherent Hierarchical Culling
(CHC) algorithm with level 3 of varying visibility
thresholds.
Visual output resulted from CHC algorithm with level 4 of
varying visibility thresholds.
102
103
104
104
106
107
108
109
110
xvi
LIST OF ABBREVIATIONS
VR
–
virtual reality
fps
–
frame per second
PVS
–
potential visibility set
TC
–
Temporal Coherence
3D
–
three-dimensional
CHC
–
Coherent Hierarchical Culling
PVS
–
potential visibility set
HZB
–
Hierarchical Z-buffer
HOM
–
Hierarchical Occlusion Maps
NOHC
–
Near Optimal Hierarchical Culling
HITL
–
Human-in-the-Loop
DOF
–
Degree of Freedom
NOHC
–
Near Optimal Hierarchical Culling
CHC++
–
Coherent Hierarchical Culling Revisited
xvii
LIST OF SYMBOLS
x
–
X axis
y
–
Y axis
z
–
Z axis
xviii
LIST OF APPENDICES
APPENDIX
A
PAGE
LIST OF PUBLICATION
124
Download