i
i
i
i
i
i
i
i
Contents
Preface xiii
I What, Why and How 1
1 Introduction 3
1.1 WhatisVirtualReality? .................. 3
1.2 AQuickTouroftheBook................. 4
1.3 AssumedKnowledgeandTargetAudience......... 7
1.4 ValuableResourcesforVR................. 8
1.5 TheCodeListings..................... 9
Bibliography........................... 10
2 The Human Senses and VR 13
2.1 HumanVisualSystem................... 14
2.2 HumanAuditorySystem.................. 18
2.3 HumanTactileSystem................... 21
2.4 Olfaction—TheSenseofSmell .............. 23
2.5 Gustation—TheSenseofTaste .............. 24
2.6 Summar y . ........................ 25
Bibliography........................... 26
3 Applications and Implications of VR 29
3.1 Entertainment....................... 30
3.2 Visualization........................ 31
3.3 Training .......................... 33
vii
i
i
i
i
i
i
i
i
viii Contents
3.4 Education ......................... 35
3.5 OtherApplications..................... 36
3.6 DistributedVR ...................... 38
3.7 TheImplicationsofVR .................. 39
3.8 Summar y . . . ...................... 42
Bibliography........................... 43
4 Building a Practical VR System 45
4.1 TechnologyofVisualization ................ 47
4.2 TechnologyforInteraction................. 64
4.3 TechnologyforMotionTrackingandCapture....... 71
4.4 Summar y . . . ...................... 83
Bibliography........................... 84
5 Describing and Storing the VR World 87
5.1 TheGeometricDescriptionofa3DVirtualWorld .... 88
5.2 SceneGraphs ....................... 94
5.3 PuttingVRContentontheWEB ............. 102
5.4 StoringImagesandTextures................ 105
5.5 StoringVideo ....................... 111
5.6 Summar y . . . ...................... 116
Bibliography........................... 116
6 A Pocket 3D Theory Reference 119
6.1 CoordinateSystems .................... 120
6.2 Vectors........................... 123
6.3 TheLine.......................... 124
6.4 ThePlane ......................... 125
6.5 ReflectioninaPlane ................... 129
6.6 Transformations ...................... 131
6.7 Summar y . . . ...................... 145
Bibliography........................... 145
7 The Rendering Pipeline 147
7.1 GeometryandVertexOperations ............. 149
7.2 CullingandClipping ................... 150
7.3 ScreenMapping ...................... 155
7.4 ScanConversionorRasterization ............. 156
i
i
i
i
i
i
i
i
Contents ix
7.5 Fragment Processing . ................... 159
7.6 Texturing ......................... 172
7.7 Summar y . ........................ 179
Bibliography........................... 180
8 Computer Vision in VR 181
8.1 The Mathematical Language of Geometric Computer Vision 183
8.2 Cameras.......................... 185
8.3 A Brief Look at Some Advanced Ideas in Computer Vision 189
8.4 Software Libraries for Computer Vision . . ........ 214
8.5 Summar y . ........................ 216
Bibliography........................... 217
9 Image-Based Rendering 219
9.1 GeneralApproachestoIBR ................ 220
9.2 AcquiringImagesforIBR ................. 223
9.3 Mosaicing and Making P anoramic Images . ........ 224
9.4 Summar y . ........................ 230
Bibliography........................... 231
10 Stereopsis 235
10.1Parallax .......................... 237
10.2Head-MountedDisplays.................. 246
10.3 Active, Passiv e and Other Stereoscopic Systems ...... 249
10.4 Summary . ........................ 256
Bibliography........................... 256
11 Navigation and Movement in VR 257
11.1ComputerAnimation ................... 258
11.2MovingandRotatingin3D................ 260
11.3RoboticMotion ...................... 266
11.4InverseKinematics..................... 271
11.5 Summary . ........................ 281
Bibliography........................... 282
Summing Up 283
i
i
i
i
i
i
i
i
x Contents
II Practical Programs for VR 287
12 Tools, Libraries and Templates for VR 289
12.1TheHardwareEnvironment................ 290
12.2SoftwareTools....................... 293
12.3AFrameworkfortheApplications............. 294
12.4TheComponentObjectModel .............. 296
12.5 Summary . . . ...................... 300
Bibliography........................... 301
13 Progra mming 3D Graphics in Real Time 303
13.1VisualizingaVirtualWorldUsingOpenGL........ 304
13.2SystemIndependencewiththeGLUTLibraries...... 333
13.3VisualizingaVirtualWorldUsingDirect3D........ 336
13.4 Summary . . . ...................... 349
Bibliography........................... 351
14 High-Quality 3D with OpenGL 2 353
14.1OpenGLVersion2..................... 354
14.2UsingProgrammableShaders ............... 365
14.3SomeBasicShaderPrograms................ 370
14.4ProgrammableShadersinDirect3D............ 382
14.5 Summary . . . ...................... 382
Bibliography........................... 383
15 Using Multimedia in VR 385
15.1ABriefOverviewofDirectShow ............. 386
15.2Methodology ....................... 391
15.3AMoviePlayer....................... 393
15.4VideoSources ....................... 401
15.5CustomFiltersandUtilityPrograms............ 406
15.6PlayingMoviesorLiveVideointoTextures ........ 413
15.7 Summary . . . ...................... 431
Bibliography........................... 431
16 Programming Stereopsis 433
16.1DisplayAdapterHardwareforStereopsis ......... 434
16.2FileFormatsforStoringStereoscopicImages........ 438
16.3AFileFormatforStereoMovies .............. 441
i
i
i
i
i
i
i
i
Contents xi
16.4DisplayingStereoscopicImages .............. 441
16.5AStereoscopicMoviePlayer................ 446
16.6 Capturing Stereo Pictures from a Pair of Video Cameras . . 459
16.7MakingaStereoMoviefromImageSequences....... 467
16.8 Summary . ........................ 475
Bibliography........................... 475
17 Programming Input and Force Feedback 477
17.1DirectInput ........................ 479
17.2ForceFeedbackwithDirectInput ............. 484
17.3HapticSoftwareLibrariesandTools............ 489
17.4Middleware ........................ 494
17.5 Interfacing Custom VR Hardware with the Applications . 496
17.6 Summary . ........................ 505
Bibliography........................... 505
18 Building on the Basics, Some Projects in VR 507
18.1VideoEditing ....................... 508
18.2 Stereo Movie and Picture Output for a Head-Mounted
Display........................... 510
18.3 Video Processing . . . ................... 510
18.4Chroma-Keying ...................... 511
18.5AMulti-ProjectorVRTheaterSystem........... 514
18.6 Using Image-Processing and Computer-Vision Libraries . . 520
18.7 Augmented Reality (AR) .................. 521
18.8VirtualSculptingin3D .................. 526
18.9 Summary . ........................ 534
Bibliography........................... 534
A Rotation with Quaternions 537
A.1 TheQuaternion...................... 538
A.2 QuaternionsandRotation................. 539
A.3 ConvertingaMatrixtoaQuaternion ........... 542
A.4 ConvertingaQuaterniontoEulerAngles ......... 542
A.5 InterpolatingQuaternions................. 544
B The Generalized Inverse 547
C Aligning Two Images in a Panoramic Mosaic 549
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.188.152.136