Cet ouvrage fait partie de la bibliothèque YouScribe
Obtenez un accès à la bibliothèque pour le lire en ligne
En savoir plus

Increasing the quality of real-time rendering in driving simulation by means of programmable graphics hardware [Elektronische Ressource] = Qualitätssteigerung der Echtzeitvisualisierung in der Fahrsimulation mittels programmierbarer Graphik-Hardware / vorgelegt von Franz Lankes

De
200 pages
Increasing the Quality of Real-Time Rendering inDriving Simulation by Means of ProgrammableGraphics HardwareQualitätssteigerung der Echtzeitvisualisierung inder Fahrsimulation mittels programmierbarerGraphik-HardwareDer Technischen Fakultät derUniversität Erlangen–Nürnbergzur Erlangung des GradesDOKTOR–INGENIEURvorgelegt vonDipl.-Inf. Franz LankesErlangen - 2010Als Dissertation genehmigt vonder Technischen Fakultätder Universität Erlangen–NürnbergTag der Einreichung: 21.09.2009Tag der Promotion: 09.11.2009Dekan: Prof. Dr.-Ing. Reinhard GermanBerichterstatter: Prof. Dr.-Ing. Marc StammingerProf. Dr.-Ing. Stefan MülleriAbstractDriving simulation is an essential research and development tool in car engineering andother sciences world wide. It allows to study driver behavior as well as to analyze andevaluate new car devices at early development stages, saving costs and time.To obtain research results which are transferable to reality, subjects must be providedwith a highly convincing simulation environment. The driving experience should feelas real as possible so that subjects behave as they would do when driving a real car.Since human vision is significant for real driving, highly realistic image generation mustbe a fundamental part of driving simulation.In the past, the simulation of human vision has been widely neglected in driving simu-lation.
Voir plus Voir moins

Increasing the Quality of Real-Time Rendering in
Driving Simulation by Means of Programmable
Graphics Hardware
Qualitätssteigerung der Echtzeitvisualisierung in
der Fahrsimulation mittels programmierbarer
Graphik-Hardware
Der Technischen Fakultät der
Universität Erlangen–Nürnberg
zur Erlangung des Grades
DOKTOR–INGENIEUR
vorgelegt von
Dipl.-Inf. Franz Lankes
Erlangen - 2010Als Dissertation genehmigt von
der Technischen Fakultät
der Universität Erlangen–Nürnberg
Tag der Einreichung: 21.09.2009
Tag der Promotion: 09.11.2009
Dekan: Prof. Dr.-Ing. Reinhard German
Berichterstatter: Prof. Dr.-Ing. Marc Stamminger
Prof. Dr.-Ing. Stefan Mülleri
Abstract
Driving simulation is an essential research and development tool in car engineering and
other sciences world wide. It allows to study driver behavior as well as to analyze and
evaluate new car devices at early development stages, saving costs and time.
To obtain research results which are transferable to reality, subjects must be provided
with a highly convincing simulation environment. The driving experience should feel
as real as possible so that subjects behave as they would do when driving a real car.
Since human vision is significant for real driving, highly realistic image generation must
be a fundamental part of driving simulation.
In the past, the simulation of human vision has been widely neglected in driving simu-
lation. This thesis addresses this shortcoming and focuses on real-time rendering tech-
niques to drastically improve the image quality in high-end driving simulation soft-
ware. Advanced rendering techniques developed at the departement of driving sim-
ulation of BMW Group Research and Technology are presented that are valuable for
high-quality image generation. The techniques described include the generation and
rendering of terrains, the reproduction of road surfaces, the visualization of cars, the
simulation of light and shadows and more.
Aside from analyzing existing methodologies, novel rendering techniques that address
the aforementioned visualization issues in driving simulation have been developed. All
introduced algorithms are real-time capable and are well suited for the implementation
on programmable graphics hardware.
The presented rendering techniques improve the image generation quality of driving
simulation software dramatically. This leads the simulation of vision much closer to the
final goal of photo realism.ii Chapter 0. Abstractiii
Contents
Abstract i
Contents iii
List of Figures vii
I Introduction and Problem Statement 1
1 3
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Project Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
II Background 9
2 Driving Simulation 11
2.1 Driving Simulation at BMW Group Research and Technology . . . . . . . 11
2.2 Simulation Software SPIDER . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Modular Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Module Communication . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.3 SGI’s OpenGL Performer and Custom Enhancements . . . . . . . . 18
2.2.4 SPIDER’s Visual Quality . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Fundamentals and Background of Image Generation 23
3.1 The Rendering Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.1 The Application Stage . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.2 The Geometry Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.3 The Rasterization Stage . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 The Graphics Processing Unit . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 The Vertex Shader . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.2 The Geometry Shader . . . . . . . . . . . . . . . . . . . . . . . . . . 26iv Contents
3.2.3 The Pixel Shader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.4 The Output Merger . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
III Study on Driving Simulation 29
4 Simulator Survey 31
4.1 Motivation and Objective of the Study . . . . . . . . . . . . . . . . . . . . . 31
4.2 Test Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.1 Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.2 Experiment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.3 The Trial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2.4 Questionnaire Design . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Trial Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
IV Research Domains 37
5 Procedural Generation of Road Sceneries 39
5.1 Procedural of Landscapes . . . . . . . . . . . . . . . . . . . . . 39
5.1.1 Procedural Modeling With Noise Functions . . . . . . . . . . . . . . 40
5.1.2 Terrain Elevation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.1.3 Texture Creation and Texturing . . . . . . . . . . . . . . . . . . . . . 41
5.1.4 Water Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Vegetation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.1 Generation of Vegetation . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.2 Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3 Generation of Roads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3.1 Route Definition and Road Generation . . . . . . . . . . . . . . . . 46
5.3.2 Procedural Bridges and Tunnels . . . . . . . . . . . . . . . . . . . . 46
5.4 Procedural Generation of Buildings . . . . . . . . . . . . . . . . . . . . . . . 48
5.4.1 The Process . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.4.2 Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6 Real-Time Rendering of Road Sceneries 53
6.1 Lighting Simulation for Terrains . . . . . . . . . . . . . . . . . . . . . . . . 53
6.1.1 Outdoor Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.1.2 Light Scattering . . . . . . . . . . . . . . . . . . . . . . . . 54
6.2 Rendering of Clouds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.3 of Vegetation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.3.1 Rendering Prairies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.3.2 Fast Lighting of Vegetation . . . . . . . . . . . . . . . . . . . . . . . 63
6.4 Rendering Waters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Contents v
6.5 Dynamic Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.5.1 Generating High Dynamic Range Content . . . . . . . . . . . . . . 66
6.5.2 Tone Mapping and Automatic Exposure . . . . . . . . . . . . . . . 67
6.5.3 Hierarchical Blooming . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7 Visualization of Roads 71
7.1 Visualizing the Roughness of Asphalt . . . . . . . . . . . . . . . . . . . . . 71
7.2 Simulating the Varying Reflectivity of Road Surfaces . . . . . . . . . . . . . 72
7.3 Visualizing Roads with Distinctive Height Variances . . . . . . . . . . . . . 74
7.4 Spreading Details on Roads . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
8 Visualization of Vehicles 79
8.1 Model Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8.2 Rendering High Quality Car Paint . . . . . . . . . . . . . . . . . . . . . . . 81
8.3 Precalculated Real-Time Environment Reflection . . . . . . . . . . . . . . . 82
8.3.1 Considerations and Caching Strategy . . . . . . . . . . . . . . . . . 84
8.3.2 Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.4 Motion Blur for Wheels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.5 Simulation of Lights and Indicators . . . . . . . . . . . . . . . . . . . . . . . 88
9 Simulating Light and Shadows 89
9.1 Rendering of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.2 Shadows and Lighting for Static Objects . . . . . . . . . . . . . . . . . . . . 90
9.2.1 HDR Light Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
9.2.2 Parallel Projected Light Maps . . . . . . . . . . . . . . . . . . . . . . 92
9.3 Shadows and Lighting for Dynamic Objects . . . . . . . . . . . . . . . . . . 94
9.3.1 Extensions on Shadow Volumes . . . . . . . . . . . . . . . . . . . . 94
9.3.2 Improving Performance on Assarsson’s Algorithm . . . . . . . . . 97
9.3.3 on Shadow Maps . . . . . . . . . . . . . . . . . . . . . . 97
9.4 Dynamic Ambient Occlusion and Ambient Lighting . . . . . . . . . . . . . 99
9.4.1 Considerations on Sample Points . . . . . . . . . . . . . . . . . . . . 101
9.4.2 on Directions . . . . . . . . . . . . . . . . . 102
9.4.3 Ambient Occlusion in Real-Time . . . . . . . . . . . . . . . . . . . . 103
9.4.4 Lighting Using Bent Normals . . . . . . . . . . . . . . . . . . . . . . 104
9.4.5 Weighted Ambient Occlusion . . . . . . . . . . . . . . . . . . . . . . 105
9.5 Bit-Mask Ambient Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
9.5.1 The Precalculation Phase . . . . . . . . . . . . . . . . . . . . . . . . 108
9.5.2 Per-Frame Precalculation . . . . . . . . . . . . . . . . . . . . . . . . 108
9.5.3 Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
9.5.4 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
9.6 Bit-Mask Ambient Occlusion . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.6.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.6.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.6.3 Mathematical Background . . . . . . . . . . . . . . . . . . . . . . . . 115vi Contents
9.6.4 Bit-Wise Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
9.6.5 Discretization of the Visibility Function . . . . . . . . . . . . . . . . 117
9.6.6 The Hemi-Cube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
9.6.7 Ambient Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
10 Animation and Weather Related Visual Dynamics 127
10.1 Animated Creatures and Objects . . . . . . . . . . . . . . . . . . . . . . . . 127
10.1.1 Simulation of Pedestrians . . . . . . . . . . . . . . . . . . . . . . . . 127
10.1.2 Animation of the Sky . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.2 Simulation of Rain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.2.1 Simulation of Wet Roads . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.2.2 Rendering Rainfall . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
10.2.3 Simulating Spray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
10.3 Simulation of Snow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
10.3.1 Real-Time Procedural Snow Generation . . . . . . . . . . . . . . . . 135
10.3.2 Prediction Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.3.3 Occlusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.3.4 Rendering Snow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.3.5 Dynamic Skid Marks . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.4 Simulation of Wind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.5 Weather Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
11 A Shader Management System 141
11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
11.2 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
V Results and Conclusion 145
12 Composition of Results to a Conceptual Visualization Software 147
12.1 Techniques and Implementation . . . . . . . . . . . . . . . . . . . . . . . . 147
12.2 Performance Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
12.3 Visual Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
13 Conclusion 157
13.1 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
13.2 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
13.3 Future Prospects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
A Demographic Questionnaire of the Simulator Survey 161
B Visualization of the Survey 165
Bibliography 169vii
List of Figures
1.1 Comparison between standard and advanced rendering techniques. . . . 5
1.2 The structure of this project. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Examples of driving simulators. . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 The dynamic simulator at BMW Group Research and Technology. 13
2.3 Hardware structure of a mock-up. . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Overview over the modular software structure of SPIDER. . . . . . . . . . 16
2.5 A screenshot of SPIDER’s graphical user interface. . . . . . . . . . . . . . . 17
2.6 Screenshots of SPIDER at the beginning of this project. . . . . . . . . . . . 20
2.7 SPIDER’s visuals in detail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1 The geometry stage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 The rasterization stage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3 GPU implementation of the rendering pipeline. . . . . . . . . . . . . . . . . 27
4.1 The setup of the simulator study. . . . . . . . . . . . . . . . . . . . . . . . . 32
5.1 Perlin noise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Procedurally created terrain. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 Procedural generation of complete road scenes. . . . . . . . . . . . . . . . . 45
5.4 Pr of roads, tunnels and bridges. . . . . . . . . . . . . 47
5.5 Procedural generation of a roof. . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.6 Pr of a building. . . . . . . . . . . . . . . . . . . . . . . 49
5.7 A screenshot of the application which was developed in this project. . . . 50
5.8 Procedurally generated buildings. . . . . . . . . . . . . . . . . . . . . . . . 51
6.1 Light scattering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.2 The absorption cross section and the absorption coefficient. . . . . . . . . . 55
6.3 Schematic views of absorption and out-scattering. . . . . . . . . . . . . . . 56
6.4 Aerial perspective. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.5 Outdoor light scattering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.6 Cloud rendering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.7 Hybrid triangle PBR and dynamic vegetation distribution. . . . . . . . . . 63
6.8 Fast lighting of vegetation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64viii List of Figures
6.9 Compositing light portions of water rendering. . . . . . . . . . . . . . . . . 65
6.10 Automatic exposure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.11 Blooming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.12 Hierarchical blooming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.1 Normal mapping applied to roads. . . . . . . . . . . . . . . . . . . . . . . . 72
7.2 Gloss mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.3 Parallax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.4 Textures needed for texture bombing. . . . . . . . . . . . . . . . . . . . . . 76
7.5 Procedural distribution of details. . . . . . . . . . . . . . . . . . . . . . . . . 77
8.1 Acquiring 3D car models from CAD data. . . . . . . . . . . . . . . . . . . . 80
8.2 Artifacts due to low tessellation or polygon reduction. . . . . . . . . . . . . 81
8.3 Structure and rendering of car paint. . . . . . . . . . . . . . . . . . . . . . . 82
8.4 Light portions of car paint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.5 Motion blur for wheels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.6 LDR rear lights vs. HDR rear lights. . . . . . . . . . . . . . . . . . . . . . . 87
9.1 Shadows deliver important spatial clues. . . . . . . . . . . . . . . . . . . . 89
9.2 High dynamic range light mapping. . . . . . . . . . . . . . . . . . . . . . . 91
9.3 Casting shadows on objects using parallel projected light maps. . . . . . . 92
9.4 Realistic by parallel projected light maps. . . . . . . . . . . . . . . 93
9.5 Penumbra wedge construction and coverage determination. . . . . . . . . 95
9.6 Comparison between shadow volumes and penumbra wedges. . . . . . . 96
9.7 penumbra wedges and the faster approximation. . . 98
9.8 Ambient occlusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.9 The impact of ambient occlusion on realism. . . . . . . . . . . . . . . . . . 100
9.10 Shadow leaking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.11 Ambient occlusion with and without jittering. . . . . . . . . . . . . . . . . 102
9.12 Bent normals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.13 Lighting using bent normals. . . . . . . . . . . . . . . . . . . . . . . . . . . 104
9.14 Weighted ambient occlusion. . . . . . . . . . . . . . . . . . . . . . . . . . . 105
9.15 W occlusion optimized for driving simulation. . . . . . . . 106
9.16 Scene rendered with weighted ambient occlusion. . . . . . . . . . . . . . . 107
9.17 Bit-mask ambient lighting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.18 Layout and function of a BMAL look-up table. . . . . . . . . . . . . . . . . 110
9.19 Bit-mask ambient lighting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
9.20 The principle of bit-mask ambient occlusion. . . . . . . . . . . . . . . . . . 114
9.21 An exemplary visibility function and rotations on the hemisphere. . . . . . 117
9.22 A hemi-cube with different resolution levels. . . . . . . . . . . . . . . . . . 118
9.23 Losing bits using Euler’s XYZ scheme on the hemi-cube. . . . . . . . . . . 119
9.24 Bit rotations on the hemi-cube. . . . . . . . . . . . . . . . . . . . . . . . . . 120

Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin