logo资料库

【计算机图形学基础】Fundamentals of Computer Graphics.pdf

第1页 / 共784页
第2页 / 共784页
第3页 / 共784页
第4页 / 共784页
第5页 / 共784页
第6页 / 共784页
第7页 / 共784页
第8页 / 共784页
资料共784页,剩余部分请下载后查看
Front Cover
Title Page
Copyright
Contents
Preface
1. Introduction
1.1 Graphics Areas
1.2 Major Applications
1.3 Graphics APIs
1.4 Graphics Pipeline
1.5 Numerical Issues
1.6 Efficiency
1.7 Designing and Coding Graphics Programs
Notes
2. Miscellaneous Math
2.1 Sets and Mappings
2.2 Solving Quadratic Equations
2.3 Trigonometry
2.4 Vectors
2.5 Curves and Surfaces
2.6 Linear Interpolation
2.7 Triangles
Frequently Asked Questions
Notes
Exercises
3. Raster Images
3.1 Raster Devices
3.2 Images, Pixels, and Geometry
3.3 RGB Color
3.4 Alpha Compositing
Frequently Asked Questions
Exercises
4. Ray Tracing
4.1 The Basic Ray-Tracing Algorithm
4.2 Perspective
4.3 Computing Viewing Rays
4.4 Ray-Object Intersection
4.5 Shading
4.6 A Ray-Tracing Program
4.7 Shadows
4.8 Ideal Specular Reflection
4.9 Historical Notes
Frequently Asked Questions
Exercises
5. Linear Algebra
5.1 Determinants
5.2 Matrices
5.3 Computing with Matrices and Determinants
5.4 Eigenvalues and Matrix Diagonalization
Frequently Asked Questions
Notes
Exercises
6. Transformation Matrices
6.1 2D Linear Transformations
6.2 3D Linear Transformations
6.3 Translation and Affine Transformations
6.4 Inverses of Transformation Matrices
6.5 Coordinate Transformations
Frequently Asked Questions
Notes
Exercises
7. Viewing
7.1 Viewing Transformations
7.2 Projective Transformations
7.3 Perspective Projection
7.4 Some Properties of the Perspective Transform
7.5 Field-of-View
Frequently Asked Questions
Notes
Exercises
8. The Graphics Pipeline
8.1 Rasterization
8.2 Operations Before and After Rasterization
8.3 Simple Antialiasing
8.4 Culling Primitives for Efficiency
Frequently Asked Questions
Notes
Exercises
9. Signal Processing
9.1 Digital Audio: Sampling in 1D
9.2 Convolution
9.3 Convolution Filters
9.4 Signal Processing for Images
9.5 Sampling Theory
Exercises
10. Surface Shading
10.1 Diffuse Shading
10.2 Phong Shading
10.3 Artistic Shading
Frequently Asked Questions
Exercises
11. Texture Mapping
11.1 3D Texture Mapping
11.2 2D Texture Mapping
11.3 Texture Mapping for Rasterized Triangles
11.4 Bump Textures
11.5 Displacement Mapping
11.6 Environment Maps
11.7 Shadow Maps
Frequently Asked Questions
Notes
Exercises
12. Data Structures for Graphics
12.1 Triangle Meshes
12.2 Scene Graphs
12.3 Spatial Data Structures
12.4 BSP Trees for Visibility
12.5 Tiling Multidimensional Arrays
Frequently Asked Questions
Notes
Exercises
13. More Ray Tracing
13.1 Transparency and Refraction
13.2 Instancing
13.3 Constructive Solid Geometry
13.4 Distribution Ray Tracing
Notes
Frequently Asked Questions
14. Sampling
14.1 Integration
14.2 Continuous Probability
14.3 Monte Carlo Integration
14.4 Choosing Random Points
Frequently Asked Questions
Notes
Exercises
15. Curves
15.1 Curves
15.2 Curve Properties
15.3 Polynomial Pieces
15.4 Putting Pieces Together
15.5 Cubics
15.6 Approximating Curves
15.7 Summary
Notes
16. Implicit Modeling
16.1 Implicit Functions, Skeletal Primitives and Summation Blending
16.2 Rendering
16.3 Space Partitioning
16.4 More on Blending
16.5 Constructive Solid Geometry
16.6 Warping
16.7 Precise Contact Modeling
16.8 The BlobTree
16.9 Interactive Implicit Modeling Systems
Exercises
17. Computer Animation
17.1 Principles of Animation
17.2 Keyframing
17.3 Deformations
17.4 Character Animation
17.5 Physics-Based Animation
17.6 Procedural Techniques
17.7 Groups of Objects
Notes
18. Using Graphics Hardware
18.1 What Is Graphics Hardware
18.2 Describing Geometry for the Hardware
18.3 Processing Geometry into Pixels
Frequently Asked Questions
Notes
Exercises
19. Building Interactive Graphics Applications
19.1 The Ball Shooting Program
19.2 Programming Models
19.3 The Modelview-Controller Architecture
19.4 Example Implementations
19.5 Applying Our Results
Notes
Exercises
20. Light
20.1 Radiometry
20.2 Transport Equation
20.3 Photometry
Frequently Asked Questions
Notes
Exercises
21. Color
21.1 Colorimetry
21.2 Color Spaces
21.3 Chromatic Adaptation
21.4 Color Appearance
Notes
22. Visual Perception
22.1 Vision Science
22.2 Visual Sensitivity
22.3 Spatial Vision
22.4 Objects, Locations, and Events
22.5 Picture Perception
23. Tone Reproduction
23.1 Classification
23.2 Dynamic Range
23.3 Color
23.4 Image Formation
23.5 Frequency-Based Operators
23.6 Gradient-Domain Operators
23.7 Spatial Operators
23.8 Division
23.9 Sigmoids
23.10 Other Approaches
23.11 Night Tonemapping
23.12 Discussion
24. Global Illumination
24.1 Particle Tracing for Lambertian Scenes
24.2 Path Tracing
24.3 Accurate Direct Lighting
Frequently Asked Questions
Notes
Exercises
25. Reflection Models
25.1 Real-World Materials
25.2 Implementing Reflection Models
25.3 Specular Reflection Models
25.4 Smooth Layered Model
25.5 Rough Layered Model
Frequently Asked Questions
Notes
Exercises
26. Computer Graphics in Games
26.1 Platforms
26.2 Limited Resources
26.3 Optimization Techniques
26.4 Game Types
26.5 The Game Production Process
Notes
Exercises
27. Visualization
27.1 Background
27.2 Data Types
27.3 Human-Centered Design Process
27.4 Visual Encoding Principles
27.5 Interaction Principles
27.6 Composite and Adjacent Views
27.7 Data Reduction
27.8 Examples
Frequently Asked Questions
28. Spatial-Field Visualization
28.1 2D Scalar Fields
28.2 3D Scalar Fields
Frequently Asked Questions
Exercises
References
✐ ✐ ✐ ✐ ✐ ✐ ✐ ✐
Fundamentals of Computer Graphics Third Edition ✐ ✐ ✐ ✐ ✐ ✐ ✐ ✐
✐ ✐ ✐ ✐ ✐ ✐ ✐ ✐
✐ ✐ ✐ ✐ Fundamentals of Computer Graphics Third Edition Peter Shirley NVIDIA Corporation Steve Marschner Cornell University with Michael Ashikhmin Michael Gleicher Naty Hoffman Garrett Johnson Tamara Munzner Erik Reinhard Kelvin Sung William B. Thompson Peter Willemsen Brian Wyvill A K Peters Natick, Massachusetts ✐ ✐ ✐ ✐
✐ ✐ ✐ ✐ ✐ ✐ ✐ ✐ . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi 1 1 3 4 4 5 7 8 13 . . . . 13 . . . . 17 . . . . 18 . . . . 21 . . . . 30 . . . . 44 . . . . 44 53 . . . . 54 . . . . 59 v Contents Preface 1 Introduction 1.1 Graphics Areas . . . . . . . 1.2 Major Applications . . . . . Graphics APIs 1.3 . . . . . . . Graphics Pipeline . . 1.4 . . . . Numerical Issues . . 1.5 . . . . 1.6 Efficiency . . . . . . . . . . Designing and Coding Graphics Programs . 1.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Miscellaneous Math Sets and Mappings . . . . . Solving Quadratic Equations . . . . . . . . . . . Trigonometry . . . . . . . . . Vectors . . . . . . . . . . . Curves and Surfaces . . . . . . . . . . . . Linear Interpolation . . . . Triangles . . . . . . . . . . . 2.1 2.2 2.3 2.4 2.5 2.6 2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Raster Images 3.1 3.2 Raster Devices . . . . . . . Images, Pixels, and Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
✐ ✐ ✐ ✐ vi 3.3 3.4 RGB Color . . . . . Alpha Compositing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Ray Tracing 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 . . . . The Basic Ray-Tracing Algorithm . . . . . Perspective . . . . . Computing Viewing Rays . . . . . . . . . Ray-Object Intersection . . . . . . Shading . . . . . . . A Ray-Tracing Program . . . . . . . . . . Shadows . . . . . . . . Ideal Specular Reflection . . Historical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Linear Algebra Determinants . . . . . . . . 5.1 5.2 Matrices . . . 5.3 5.4 . . . . . . . . Computing with Matrices and Determinants . . . . . . . Eigenvalues and Matrix Diagonalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Transformation Matrices 6.1 6.2 6.3 6.4 6.5 . . . . . . . . . . . 2D Linear Transformations . 3D Linear Transformations . . . . Translation and Affine Transformations . Inverses of Transformation Matrices . . . . . . Coordinate Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Viewing . . . . . . . . . 7.1 7.2 7.3 7.4 7.5 . . . . . . . . . . . . . . . . Viewing Transformations . . . . . . Projective Transformations . Perspective Projection . . . . . . . Some Properties of the Perspective Transform . . Field-of-View . . . . . . . . 8 The Graphics Pipeline Rasterization . . . . . . . . Operations Before and After Rasterization . . . . . . . . Simple Antialiasing . . . . . Culling Primitives for Efficiency . . . . . . 8.1 8.2 8.3 8.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contents . . . . 64 . . . . 65 69 . . . . 70 . . . . 71 . . . . 73 . . . . 76 . . . . 81 . . . . 84 . . . . 86 . . . . 87 . . . . 88 91 . . . . 91 . . . . 93 . . . . 98 . . . . 103 111 . . . . 111 . . . . 125 . . . . 130 . . . . 134 . . . . 135 141 . . . . 142 . . . . 148 . . . . 151 . . . . 156 . . . . 156 161 . . . . 162 . . . . 173 . . . . 180 . . . . 181 ✐ ✐ ✐ ✐
✐ ✐ Contents 9 Signal Processing 9.1 9.2 9.3 9.4 9.5 Digital Audio: Sampling in 1D . . . Convolution . . . . . . . . . Convolution Filters . . . . . Signal Processing for Images . . . . Sampling Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Surface Shading 10.1 Diffuse Shading . . 10.2 Phong Shading . . . 10.3 Artistic Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Texture Mapping . . . . . . . . . . . . 11.1 3D Texture Mapping . . . . 11.2 2D Texture Mapping . . . . . . . . 11.3 Texture Mapping for Rasterized Triangles . . . . . 11.4 Bump Textures . . . . . . . 11.5 Displacement Mapping . . . . . . . . . . . . . . . 11.6 Environment Maps . 11.7 Shadow Maps . . . . . . . . . . . . 12 Data Structures for Graphics . . . . . . . . 12.1 Triangle Meshes . . . . 12.2 Scene Graphs . . . . . . . . . 12.3 Spatial Data Structures . . . 12.4 BSP Trees for Visibility . . . . . . 12.5 Tiling Multidimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 More Ray Tracing 13.1 Transparency and Refraction . . . . 13.2 Instancing . . . . . . . 13.3 Constructive Solid Geometry . . . . 13.4 Distribution Ray Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Sampling . . . 14.1 Integration . . . . . . 14.2 Continuous Probability . . . 14.3 Monte Carlo Integration . . 14.4 Choosing Random Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ✐ ✐ vii 185 . . . . 186 . . . . 189 . . . . 203 . . . . 210 . . . . 218 233 . . . . 233 . . . . 236 . . . . 239 243 . . . . 244 . . . . 250 . . . . 252 . . . . 255 . . . . 256 . . . . 256 . . . . 258 261 . . . . 262 . . . . 276 . . . . 278 . . . . 289 . . . . 297 303 . . . . 304 . . . . 307 . . . . 309 . . . . 309 317 . . . . 317 . . . . 322 . . . . 326 . . . . 329 ✐ ✐ ✐ ✐
分享到:
收藏