Home Page Icon
Home Page
Table of Contents for
Images
Close
Images
by Steven K. Feiner, Andries van Dam, John F. Hughes, Morgan McGuire, David F. Skla
Hughes/Computer Graphics, 3/E
About This eBook
Title Page
Copyright Page
Dedication Page
Contents at a Glance
Contents
Preface
Historical Approaches
Pedagogy
Current Practice
Principles
Prerequisites
Paths through This Book
Differences from the Previous Edition
Website
Acknowledgments
For the Student
For the Teacher
About the Authors
Chapter 1. Introduction
1.1. An Introduction to Computer Graphics
1.2. A Brief History
1.3. An Illuminating Example
1.4. Goals, Resources, and Appropriate Abstractions
1.5. Some Numbers and Orders of Magnitude in Graphics
1.6. The Graphics Pipeline
1.7. Relationship of Graphics to Art, Design, and Perception
1.8. Basic Graphics Systems
1.9. Polygon Drawing As a Black Box
1.10. Interaction in Graphics Systems
1.11. Different Kinds of Graphics Applications
1.12. Different Kinds of Graphics Packages
1.13. Building Blocks for Realistic Rendering: A Brief Overview
1.14. Learning Computer Graphics
Chapter 2. Introduction to 2D Graphics Using WPF
2.1. Introduction
2.2. Overview of the 2D Graphics Pipeline
2.3. The Evolution of 2D Graphics Platforms
2.4. Specifying a 2D Scene Using WPF
2.5. Dynamics in 2D Graphics Using WPF
2.6. Supporting a Variety of Form Factors
2.7. Discussion and Further Reading
Chapter 3. An Ancient Renderer Made Modern
3.1. A Dürer Woodcut
3.2. Visibility
3.3. Implementation
3.4. The Program
3.5. Limitations
3.6. Discussion and Further Reading
3.7. Exercises
Chapter 4. A 2D Graphics Test Bed
4.1. Introduction
4.2. Details of the Test Bed
4.3. The C# Code
4.4. Animation
4.5. Interaction
4.6. An Application of the Test Bed
4.7. Discussion
4.8. Exercises
Chapter 5. An Introduction to Human Visual Perception
5.1. Introduction
5.2. The Visual System
5.3. The Eye
5.4. Constancy and Its Influences
5.5. Continuation
5.6. Shadows
5.7. Discussion and Further Reading
5.8. Exercises
Chapter 6. Introduction to Fixed-Function 3D Graphics and Hierarchical Modeling
6.1. Introduction
6.2. Introducing Mesh and Lighting Specification
6.3. Curved-Surface Representation and Rendering
6.4. Surface Texture in WPF
6.5. The WPF Reflectance Model
6.6. Hierarchical Modeling Using a Scene Graph
6.7. Discussion
Chapter 7. Essential Mathematics and the Geometry of 2-Space and 3-Space
7.1. Introduction
7.2. Notation
7.3. Sets
7.4. Functions
7.5. Coordinates
7.6. Operations on Coordinates
7.7. Intersections of Lines
7.8. Intersections, More Generally
7.9. Triangles
7.10. Polygons
7.11. Discussion
7.12. Exercises
Chapter 8. A Simple Way to Describe Shape in 2D and 3D
8.1. Introduction
8.2. “Meshes” in 2D: Polylines
8.3. Meshes in 3D
8.4. Discussion and Further Reading
8.5. Exercises
Chapter 9. Functions on Meshes
9.1. Introduction
9.2. Code for Barycentric Interpolation
9.3. Limitations of Piecewise Linear Extension
9.4. Smoother Extensions
9.5. Functions Multiply Defined at Vertices
9.6. Application: Texture Mapping
9.7. Discussion
9.8. Exercises
Chapter 10. Transformations in Two Dimensions
10.1. Introduction
10.2. Five Examples
10.3. Important Facts about Transformations
10.4. Translation
10.5. Points and Vectors Again
10.6. Why Use 3 × 3 Matrices Instead of a Matrix and a Vector?
10.7. Windowing Transformations
10.8. Building 3D Transformations
10.9. Another Example of Building a 2D Transformation
10.10. Coordinate Frames
10.11. Application: Rendering from a Scene Graph
10.12. Transforming Vectors and Covectors
10.13. More General Transformations
10.14. Transformations versus Interpolation
10.15. Discussion and Further Reading
10.16. Exercises
Chapter 11. Transformations in Three Dimensions
11.1. Introduction
11.2. Rotations
11.3. Comparing Representations
11.4. Rotations versus Rotation Specifications
11.5. Interpolating Matrix Transformations
11.6. Virtual Trackball and Arcball
11.7. Discussion and Further Reading
11.8. Exercises
Chapter 12. A 2D and 3D Transformation Library for Graphics
12.1. Introduction
12.2. Points and Vectors
12.3. Transformations
12.4. Specification of Transformations
12.5. Implementation
12.6. Three Dimensions
12.7. Associated Transformations
12.8. Other Structures
12.9. Other Approaches
12.10. Discussion
12.11. Exercises
Chapter 13. Camera Specifications and Transformations
13.1. Introduction
13.2. A 2D Example
13.3. Perspective Camera Specification
13.4. Building Transformations from a View Specification
13.5. Camera Transformations and the Rasterizing Renderer Pipeline
13.6. Perspective and z-values
13.7. Camera Transformations and the Modeling Hierarchy
13.8. Orthographic Cameras
13.9. Discussion and Further Reading
13.10. Exercises
Chapter 14. Standard Approximations and Representations
14.1. Introduction
14.2. Evaluating Representations
14.3. Real Numbers
14.4. Building Blocks of Ray Optics
14.5. Large-Scale Object Geometry
14.6. Distant Objects
14.7. Volumetric Models
14.8. Scene Graphs
14.9. Material Models
14.10. Translucency and Blending
14.11. Luminaire Models
14.12. Discussion
14.13. Exercises
Chapter 15. Ray Casting and Rasterization
15.1. Introduction
15.2. High-Level Design Overview
15.3. Implementation Platform
15.4. A Ray-Casting Renderer
15.5. Intermezzo
15.6. Rasterization
15.7. Rendering with a Rasterization API
15.8. Performance and Optimization
15.9. Discussion
15.10. Exercises
Chapter 16. Survey of Real-Time 3D Graphics Platforms
16.1. Introduction
16.2. The Programmer’s Model: OpenGL Compatibility (Fixed-Function) Profile
16.3. The Programmer’s Model: OpenGL Programmable Pipeline
16.4. Architectures of Graphics Applications
16.5. 3D on Other Platforms
16.6. Discussion
Chapter 17. Image Representation and Manipulation
17.1. Introduction
17.2. What Is an Image?
17.3. Image File Formats
17.4. Image Compositing
17.5. Other Image Types
17.6. MIP Maps
17.7. Discussion and Further Reading
17.8. Exercises
Chapter 18. Images and Signal Processing
18.1. Introduction
18.2. Historical Motivation
18.3. Convolution
18.4. Properties of Convolution
18.5. Convolution-like Computations
18.6. Reconstruction
18.7. Function Classes
18.8. Sampling
18.9. Mathematical Considerations
18.10. The Fourier Transform: Definitions
18.11. The Fourier Transform of a Function on an Interval
18.12. Generalizations to Larger Intervals and All of R
18.13. Examples of Fourier Transforms
18.14. An Approximation of Sampling
18.15. Examples Involving Limits
18.16. The Inverse Fourier Transform
18.17. Properties of the Fourier Transform
18.18. Applications
18.19. Reconstruction and Band Limiting
18.20. Aliasing Revisited
18.21. Discussion and Further Reading
18.22. Exercises
Chapter 19. Enlarging and Shrinking Images
19.1. Introduction
19.2. Enlarging an Image
19.3. Scaling Down an Image
19.4. Making the Algorithms Practical
19.5. Finite-Support Approximations
19.6. Other Image Operations and Efficiency
19.7. Discussion and Further Reading
19.8. Exercises
Chapter 20. Textures and Texture Mapping
20.1. Introduction
20.2. Variations of Texturing
20.3. Building Tangent Vectors from a Parameterization
20.4. Codomains for Texture Maps
20.5. Assigning Texture Coordinates
20.6. Application Examples
20.7. Sampling, Aliasing, Filtering, and Reconstruction
20.8. Texture Synthesis
20.9. Data-Driven Texture Synthesis
20.10. Discussion and Further Reading
20.11. Exercises
Chapter 21. Interaction Techniques
21.1. Introduction
21.2. User Interfaces and Computer Graphics
21.3. Multitouch Interaction for 2D Manipulation
21.4. Mouse-Based Object Manipulation in 3D
21.5. Mouse-Based Camera Manipulation: Unicam
21.6. Choosing the Best Interface
21.7. Some Interface Examples
21.8. Discussion and Further Reading
21.9. Exercises
Chapter 22. Splines and Subdivision Curves
22.1. Introduction
22.2. Basic Polynomial Curves
22.3. Fitting a Curve Segment between Two Curves: The Hermite Curve
22.4. Gluing Together Curves and the Catmull-Rom Spline
22.5. Cubic B-splines
22.6. Subdivision Curves
22.7. Discussion and Further Reading
22.8. Exercises
Chapter 23. Splines and Subdivision Surfaces
23.1. Introduction
23.2. Bézier Patches
23.3. Catmull-Clark Subdivision Surfaces
23.4. Modeling with Subdivision Surfaces
23.5. Discussion and Further Reading
Chapter 24. Implicit Representations of Shape
24.1. Introduction
24.2. Implicit Curves
24.3. Implicit Surfaces
24.4. Representing Implicit Functions
24.5. Other Representations of Implicit Functions
24.6. Conversion to Polyhedral Meshes
24.7. Conversion from Polyhedral Meshes to Implicits
24.8. Texturing Implicit Models
24.9. Ray Tracing Implicit Surfaces
24.10. Implicit Shapes in Animation
24.11. Discussion and Further Reading
24.12. Exercises
Chapter 25. Meshes
25.1. Introduction
25.2. Mesh Topology
25.3. Mesh Geometry
25.4. Level of Detail
25.5. Mesh Applications 1: Marching Cubes, Mesh Repair, and Mesh Improvement
25.6. Mesh Applications 2: Deformation Transfer and Triangle-Order Optimization
25.7. Discussion and Further Reading
25.8. Exercises
Chapter 26. Light
26.1. Introduction
26.2. The Physics of Light
26.3. The Microscopic View
26.4. The Wave Nature of Light
26.5. Fresnel’s Law and Polarization
26.6. Modeling Light as a Continuous Flow
26.7. Measuring Light
26.8. Other Measurements
26.9. The Derivative Approach
26.10. Reflectance
26.11. Discussion and Further Reading
26.12. Exercises
Chapter 27. Materials and Scattering
27.1. Introduction
27.2. Object-Level Scattering
27.3. Surface Scattering
27.4. Kinds of Scattering
27.5. Empirical and Phenomenological Models for Scattering
27.6. Measured Models
27.7. Physical Models for Specular and Diffuse Reflection
27.8. Physically Based Scattering Models
27.9. Representation Choices
27.10. Criteria for Evaluation
27.11. Variations across Surfaces
27.12. Suitability for Human Use
27.13. More Complex Scattering
27.14. Software Interface to Material Models
27.15. Discussion and Further Reading
27.16. Exercises
Chapter 28. Color
28.1. Introduction
28.2. Spectral Distribution of Light
28.3. The Phenomenon of Color Perception and the Physiology of the Eye
28.4. The Perception of Color
28.5. Color Description
28.6. Conventional Color Wisdom
28.7. Color Perception Strengths and Weaknesses
28.8. Standard Description of Colors
28.9. Perceptual Color Spaces
28.10. Intermezzo
28.11. White
28.12. Encoding of Intensity, Exponents, and Gamma Correction
28.13. Describing Color
28.14. CMY and CMYK Color
28.15. The YIQ Color Model
28.16. Video Standards
28.17. HSV and HLS
28.18. Interpolating Color
28.19. Using Color in Computer Graphics
28.20. Discussion and Further Reading
28.21. Exercises
Chapter 29. Light Transport
29.1. Introduction
29.2. Light Transport
29.3. A Peek Ahead
29.4. The Rendering Equation for General Scattering
29.5. Scattering, Revisited
29.6. A Worked Example
29.7. Solving the Rendering Equation
29.8. The Classification of Light-Transport Paths
29.9. Discussion
29.10. Exercise
Chapter 30. Probability and Monte Carlo Integration
30.1. Introduction
30.2. Numerical Integration
30.3. Random Variables and Randomized Algorithms
30.4. Continuum Probability, Continued
30.5. Importance Sampling and Integration
30.6. Mixed Probabilities
30.7. Discussion and Further Reading
30.8. Exercises
Chapter 31. Computing Solutions to the Rendering Equation: Theoretical Approaches
31.1. Introduction
31.2. Approximate Solutions of Equations
31.3. Method 1: Approximating the Equation
31.4. Method 2: Restricting the Domain
31.5. Method 3: Using Statistical Estimators
31.6. Method 4: Bisection
31.7. Other Approaches
31.8. The Rendering Equation, Revisited
31.9. What Do We Need to Compute?
31.10. The Discretization Approach: Radiosity
31.11. Separation of Transport Paths
31.12. Series Solution of the Rendering Equation
31.13. Alternative Formulations of Light Transport
31.14. Approximations of the Series Solution
31.15. Approximating Scattering: Spherical Harmonics
31.16. Introduction to Monte Carlo Approaches
31.17. Tracing Paths
31.18. Path Tracing and Markov Chains
31.19. Photon Mapping
31.20. Discussion and Further Reading
31.21. Exercises
Chapter 32. Rendering in Practice
32.1. Introduction
32.2. Representations
32.3. Surface Representations and Representing BSDFs Locally
32.4. Representation of Light
32.5. A Basic Path Tracer
32.6. Photon Mapping
32.7. Generalizations
32.8. Rendering and Debugging
32.9. Discussion and Further Reading
32.10. Exercises
Chapter 33. Shaders
33.1. Introduction
33.2. The Graphics Pipeline in Several Forms
33.3. Historical Development
33.4. A Simple Graphics Program with Shaders
33.5. A Phong Shader
33.6. Environment Mapping
33.7. Two Versions of Toon Shading
33.8. Basic XToon Shading
33.9. Discussion and Further Reading
33.10. Exercises
Chapter 34. Expressive Rendering
34.1. Introduction
34.2. The Challenges of Expressive Rendering
34.3. Marks and Strokes
34.4. Perception and Salient Features
34.5. Geometric Curve Extraction
34.6. Abstraction
34.7. Discussion and Further Reading
Chapter 35. Motion
35.1. Introduction
35.2. Motivating Examples
35.3. Considerations for Rendering
35.4. Representations
35.5. Pose Interpolation
35.6. Dynamics
35.7. Remarks on Stability in Dynamics
35.8. Discussion
Chapter 36. Visibility Determination
36.1. Introduction
36.2. Ray Casting
36.3. The Depth Buffer
36.4. List-Priority Algorithms
36.5. Frustum Culling and Clipping
36.6. Backface Culling
36.7. Hierarchical Occlusion Culling
36.8. Sector-based Conservative Visibility
36.9. Partial Coverage
36.10. Discussion and Further Reading
36.11. Exercise
Chapter 37. Spatial Data Structures
37.1. Introduction
37.2. Programmatic Interfaces
37.3. Characterizing Data Structures
37.4. Overview of k-dimensional Structures
37.5. List
37.6. Trees
37.7. Grid
37.8. Discussion and Further Reading
Chapter 38. Modern Graphics Hardware
38.1. Introduction
38.2. NVIDIA GeForce 9800 GTX
38.3. Architecture and Implementation
38.4. Parallelism
38.5. Programmability
38.6. Texture, Memory, and Latency
38.7. Locality
38.8. Organizational Alternatives
38.9. GPUs as Compute Engines
38.10. Discussion and Further Reading
38.11. Exercises
List of Principles
Bibliography
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Images
Next
Next Chapter
Images
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset