i
i
i
i
i
i
i
i
Contents
Preface xi
1 Introduction 1
1.1 GraphicsAreas.......................... 1
1.2 MajorApplications........................ 3
1.3 GraphicsAPIs .......................... 4
1.4 GraphicsPipeline......................... 4
1.5 NumericalIssues......................... 5
1.6 Efficiency............................. 7
1.7 DesigningandCodingGraphicsPrograms............ 8
2 Miscellaneous Math 13
2.1 SetsandMappings........................ 13
2.2 SolvingQuadraticEquations................... 17
2.3 Trigonometry . . . . ....................... 18
2.4 Vectors .............................. 21
2.5 Curves and Surfaces ....................... 30
2.6 LinearInterpolation ....................... 44
2.7 Triangles ............................. 44
3 Raster Images 53
3.1 RasterDevices .......................... 54
3.2 Images,Pixels,andGeometry .................. 59
v
i
i
i
i
i
i
i
i
vi Contents
3.3 RGBColor ............................ 64
3.4 Alpha Compositing . ....................... 65
4RayTracing 69
4.1 TheBasicRay-TracingAlgorithm................ 70
4.2 Perspective ............................ 71
4.3 ComputingViewingRays .................... 73
4.4 Ray-ObjectIntersection ..................... 76
4.5 Shading.............................. 81
4.6 ARay-TracingProgram ..................... 84
4.7 Shadows ............................. 86
4.8 Ideal Specular Reflection..................... 87
4.9 HistoricalNotes ......................... 88
5 Linear Algebra 91
5.1 Determinants........................... 91
5.2 Matrices.............................. 93
5.3 ComputingwithMatricesandDeterminants........... 98
5.4 Eigenvalues and Matrix Diagonalization . ............103
6 Transformation Matrices 111
6.1 2DLinearTransformations....................111
6.2 3DLinearTransformations....................125
6.3 Translation and AffineTransformations.............130
6.4 InversesofTransformationMatrices...............134
6.5 CoordinateTransformations ...................135
7 Viewing 141
7.1 ViewingTransformations.....................142
7.2 ProjectiveTransformations....................148
7.3 PerspectiveProjection ......................151
7.4 SomePropertiesofthePerspectiveTransform..........156
7.5 Field-of-View...........................156
8 The Graphics Pipeline 161
8.1 Rasterization ...........................162
8.2 OperationsBeforeandAfterRasterization............173
8.3 SimpleAntialiasing........................180
8.4 Culling Primitives for Efficiency.................181
i
i
i
i
i
i
i
i
Contents vii
9 Signal Processing 185
9.1 DigitalAudio:Samplingin1D..................186
9.2 Convolution............................189
9.3 Convolution Filters . .......................203
9.4 SignalProcessingforImages...................210
9.5 SamplingTheory.........................218
10 Surface Shading 233
10.1 DiffuseShading .........................233
10.2 Phong Shading . . . .......................236
10.3 ArtisticShading .........................239
11 Texture Mapping 243
11.1 3DTextureMapping.......................244
11.2 2DTextureMapping.......................250
11.3 TextureMappingforRasterizedTriangles............252
11.4 BumpTextures..........................255
11.5 Displacement Mapping . . . ...................256
11.6 EnvironmentMaps........................256
11.7 ShadowMaps...........................258
12 Data Structures for Graphics 261
12.1 TriangleMeshes .........................262
12.2 SceneGraphs...........................276
12.3 SpatialDataStructures......................278
12.4 BSP Trees for Visibility . . ...................289
12.5 Tiling Multidimensional Arrays . . ...............297
13 More Ray Tracing 303
13.1 TransparencyandRefraction...................304
13.2 Instancing.............................307
13.3 ConstructiveSolidGeometry...................309
13.4 DistributionRayTracing.....................309
14 Sampling 317
14.1 Integration ............................317
14.2 Continuous Probability . . . ...................322
14.3 MonteCarloIntegration .....................326
14.4 Choosing Random Points . . ...................329
i
i
i
i
i
i
i
i
viii Contents
15 Curves 339
15.1 Curves ..............................339
15.2 CurveProperties .........................345
15.3 Polynomial Pieces . .......................348
15.4 Putting Pieces Together . . . ...................356
15.5 Cubics ..............................359
15.6 ApproximatingCurves......................365
15.7 Summary.............................382
16 Implicit Modeling 385
16.1 Implicit Functions, Skeletal Primitives
andSummationBlending.....................386
16.2 Rendering.............................394
16.3 Space Partitioning . .......................395
16.4 MoreonBlending ........................401
16.5 ConstructiveSolidGeometry ..................402
16.6 Warping..............................404
16.7 PreciseContactModeling ....................406
16.8 TheBlobTree...........................408
16.9 InteractiveImplicitModelingSystems..............410
17 Computer Animation 413
17.1 PrinciplesofAnimation .....................414
17.2 Keyframing............................418
17.3 Deformations...........................426
17.4 CharacterAnimation.......................427
17.5 Physics-BasedAnimation ....................433
17.6 ProceduralTechniques......................436
17.7 Groups of Objects . .......................439
18 Using Graphics Hardware 445
18.1 WhatIsGraphicsHardware ...................445
18.2 DescribingGeometryfortheHardware .............446
18.3 ProcessingGeometryintoPixels.................453
19 Building Interactive Graphics Applications 467
19.1 TheBallShootingProgram ...................468
19.2 ProgrammingModels ......................470
19.3 TheModelview-ControllerArchitecture.............487
i
i
i
i
i
i
i
i
Contents ix
19.4 ExampleImplementations ....................499
19.5 ApplyingOurResults ......................509
20 Light 517
20.1 Radiometry............................517
20.2 TransportEquation........................526
20.3 Photometry............................528
21 Color 531
21.1 Colorimetry............................533
21.2 Color Spaces . . . . .......................542
21.3 ChromaticAdaptation ......................548
21.4 ColorAppearance ........................552
22 Visual Perception 553
22.1 VisionScience ..........................554
22.2 VisualSensitivity.........................555
22.3 SpatialVision...........................571
22.4 Objects,Locations,andEvents..................585
22.5 PicturePerception ........................593
23 Tone Reproduction 597
23.1 Classification...........................600
23.2 DynamicRange..........................601
23.3 Color ...............................603
23.4 ImageFormation.........................605
23.5 Frequency-BasedOperators ...................605
23.6 Gradient-DomainOperators ...................607
23.7 SpatialOperators.........................608
23.8 Division..............................610
23.9 Sigmoids .............................611
23.10OtherApproaches ........................616
23.11NightTonemapping .......................619
23.12Discussion ............................620
24 Global Illumination 623
24.1 ParticleTracingforLambertianScenes .............624
24.2 PathTracing ...........................627
24.3 AccurateDirectLighting.....................629
Get Fundamentals of Computer Graphics, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.