Preface
Introduction
Graphics Areas
Major Applications
Graphics APIs
Graphics Pipeline
Numerical Issues
Efficiency
Designing and Coding Graphics Programs
Miscellaneous Math
Sets and Mappings
Solving Quadratic Equations
Trigonometry
Vectors
Curves and Surfaces
Linear Interpolation
Triangles
Raster Images
Raster Devices
Images, Pixels, and Geometry
RGB Color
Alpha Compositing
Ray Tracing
The Basic Ray Tracing Algorithm
Perspective
Computing Viewing Rays
Ray-Object Intersection
Shading
A Ray Tracing Program
Shadows
Ideal Specular Reflection
Historical Notes
Linear Algebra
Determinants
Matrices
Computing with Matrices and Determinants
Eigen values and Matrix Diagonalization
Transformation Matrices
2D Linear Transformations
3D Linear Transformations
Translation and Affine Transformations
Inverses of Transformation Matrices
Coordinate Transformations
7. Viewing
Viewing Transformations
Projective Transformations
Perspective Projection
Some Properties of the Perspective Transform
Field-of-View
The Graphics Pipeline
Rasterization
Operations Before and After Rasterization
Simple Antialiasing
Culling Primitives for Efficiency
Signal Processing
Digital Audio: Sampling in 1D
Convolution
Convolution Filters
Signal Processing for Images
Sampling Theory
Surface Shading
Diffuse Shading
Phong Shading
Artistic Shading
Texture Mapping
3D Texture Mapping
2D Texture Mapping
Texture Mapping for Rasterized Triangles
Bump Textures
Displacement Mapping
Environment Maps
Shadow Maps
Data Structures for Graphics
Triangle Meshes
Scene Graphs
Spatial Data Structures
BSP Trees for Visibility
Tiling Multidimensional Arrays
More Ray Tracing
Transparency and Refraction
Instancing
Constructive Solid Geometry
Distribution Ray Tracing
Sampling
Integration
Continuous Probability
Monte Carlo Integration
Choosing Random Points
Curves
Curves
Curve Properties
Polynomial Pieces
Putting Pieces Together
Cubics
Approximating Curves
Summary
Implicit Modeling
Implicit Functions, Skeletal Primitives and Summation Blending
Rendering
Space Partitioning
More on Blending
Constructive Solid Geometry
Warping
Precise Contact Modeling
The Blob Tree
Interactive Implicit Modeling Systems
Computer Animation
Principles of Animation
Key framing
Deformations
Character Animation
Physics-Based Animation
Procedural Techniques
Groups of Objects
Notes
Using Graphics Hardware
What Is Graphics Hardware
Describing Geometry for the Hardware
Processing Geometry into Pixels
Building Interactive Graphics Applications
The Ball Shooting Program
Programming Models
The Model view-Controller Architecture
Example Implementations
Applying Our Results
Notes
Exercises
Light
Radiometry
Transport Equation
Photometry
Color
Colorimetry
Color Spaces
Chromatic Adaptation
Color Appearance
Notes
Visual Perception
Vision Science
Visual Sensitivity
Spatial Vision
Objects, Locations, and Events
Picture Perception
Tone Reproduction
Classification
Dynamic Range
Color
Image Formation
Frequency-Based Operators
Gradient-Domain Operators
Spatial Operators
Division
Sigmoids
Other Approaches
Night Tone mapping
Discussion
Global Illumination
Particle Tracing for Lambertian Scenes
Path Tracing
Accurate Direct Lighting
Reflection Models
Real-World Materials
Implementing Reflection Models
Specular Reflection Models
Smooth Layered Model
Rough Layered Model
Computer Graphics in Games
Platforms
Limited Resources
Optimization Techniques
Game Types
The Game Production Process
Visualization
Background
Data Types
Human-Centered Design Process
Visual Encoding Principles
Interaction Principles
Composite and Adjacent Views
Data Reduction
Examples
Spatial-Field Visualization
2D Scalar Fields
3D Scalar Fields
References