《交互式计算机图形学:基于OpenGL着色器的自顶向下方法(第六版)(英文版)》
CHAPTER GRAPHICS SYSTEiVtS AND MODELS
1.1 Applications of Computer Graphics
1.2 A Graphics System
1.3 Images: Physical and Synthetic
1.4 Imaging Systems
1.5 The Synthetic-Camera Model
1.6 The Programmer's Interface
1.7 Graphics Architectures
1.8 Programmable Pipeline
1.9 Performance Characteristics
Summary and Notes
Suggested Readings
Exercises
CHAPTER 2 GRAPHICS PROGRAMMING
2.1 The Sierpinski Gasket
2.2 Programming Two-Dimensional Applications
2.3 The OpenGL Application Programming Interface
2.4 Primitives and Attributes
2.5 Color
2.6 Viewing
2.7 Control Functions
2.8 The Gasket Program
2.9 Polygons and Recursion
2.10 The Three-Dimensional Gasket
2.11 Adding Interaction
2.12 Menus
Summary and Notes
Suggested Readings
Exercises
CHAPTER 3 GEOMETRIC OBJECTS AND TRANSFORMATIONS
3.1 Scalars, Points, and Vectors
3.2 Three-Dimensional Primitives
3.3 Coordinate Systems and Frames
3.4 Frames in OpenGL
3.5 Matrix and Vector Classes
3.6 Modeling a Colored Cube
3.7 Affine Transformations
3.8 Translation, Rotation, and Scaling
3.9 Transformations in Homogeneous Coordinates
3.10 Concatenation of Transformations
3.11 Transformation Matrices in OpenGL
3.12 Spinning of the Cube
3.13 Interfaces to Three-Dimensional Applications
3.14 Quaternions
Summary and Notes
Suggested Readings
Exercises
CHAPTER 4 VIEWING
4.1 Classical and Computer Viewing
4.2 Viewing with a Computer
4.3 Positioning of the Camera
4.4 Parallel Projections
4.5 Perspective Projections
4.6 Perspective Projections with OpenGL
4.7 Perspective-Projection Matrices
4.8 Hidden-Surface Removal
4.9 Displaying Meshes
4.10 Projections and Shadows
Summary and Notes
Suggested Readings
Exercises
CHAPTER 5 LISHTING AND SHADING
5.1 Light and Matter
5.2 Light Sources
5.3 The Phong Reflection Model
5.4 Computation of Vectors
5.5 Polygonal Shading
5.6 Approximation of a Sphere by Recursive Subdivision
5.7 Specifying Lighting Parameters
5.8 Implementing a Lighting Model
5.9 Shading of the Sphere Model
5.10 Per-Fragment Lighting
5.11 Global Illumination
Summary and Notes
Suggested Readings
Exercises
CHAPTER 6 FROM VERTICES TO FRAGMENTS
6.1 Basic Implementation Strategies
6.2 Four Major Tasks
6.3 Clipping
6.4 Line-Segment Clipping
6.5 Polygon Clipping
6.6 Clipping of Other Primitives
6.7 Clipping in Three Dimensions
6.8 Rasterization
6.9 Bresenham's Algorithm
6.10 Polygon Rasterization
6.11 Hidden-Surface Removal
6.12 Antialiasing
6.13 Display Considerations
Summary and Notes
Suggested Readings
Exercises
CHAPTER 7 DISCRETE TECHNIQUES
7.1 Buffers
7.2 Digital Images
7.3 Writing into Buffers
7.4 Mapping Methods
7.5 Texture Mapping
7.6 Texture Mapping in OpenGL
7.7 Texture Generation
7.8 Environment Maps
7.0 Reflection Map Example
7.10 Bump Mapping
7.11 Compositing Techniques
7.12 Sampling and Aliasing
Summary and Notes
Suggested Readings
Exercises
CHAPTER 8 MODELING AND HIERARCHY
8.1 Symbols and Instances
8.2 Hierarchical Models
8.3 A Robot Arm
8.4 Trees and Traversal
8.5 Use of Tree Data Structures
8.6 Animation
8.7 Graphical Objects
8.8 Scene Graphs
8.9 Open Scene Graph
8.10 Graphics and the Internet
8.11 Other Tree Structures
Summary and Notes
Suggested Readings
Exercises
CHAPTER 9 PROCEDURAL METHODS
9.1 Algorithmic Models
9.2 Physically Based Models and Particle Systems
9.3 Newtonian Particles
9.4 Solving Particle Systems
9.5 Constraints
9.6 A Simple Particle System
9.7 Language-Based Models
9.8 Recursive Methods and Fractals
9.9 Procedural Noise
Summary and Notes
Suggested Readings
Exercises
CHAPTER 10 CURVES AND SURFACES
10.1 Representation of Curves and Surfaces
10.2 Design Criteria
10.3 Parametric Cubic Polynomial Curves
10.4 Interpolation
10.5 Hermite Curves and Surfaces
10.6 Bezier Curves and Surfaces
10.7 Cubic B-Splines
10.8 General B-Splines
10.9 Rendering Curves and Surfaces
10.10 The Utah Teapot
10.11 Algebraic Surfaces
10.12 Subdivision Curves and Surfaces
10.13 Mesh Generation from Data
Summary and Notes
Suggested Readings
Exercises
CHAPTER 11 ADVANCED REDERING
11.1 Going Beyond Pipeline Rendering
11.2 Ray Tracing
11.3 Building a Simple Ray Tracer
11.4 The Rendering Equation
11.5 Radiosity
11.6 RenderMan
11.7 Parallel Rendering
11.8 Volume Rendering
11.9 Isosurfaces and Marching Cubes
11.10 Mesh Simplification
11.11 Direct Volume Rendering
11.12 Image-Based Rendering
Summary and Notes
Suggested Readings
Exercises
APPENIX A SAMPLE PROGRAMS
A.1 Shader Initialization Function
A.2 Sierpinski Gasket Program
A.3 Recursive Generation of Sierpinski Gasket
A.4 Rotating Cube with Rotation in Shader
A.5 Perspective Projection
A.6 Rotating Shaded Cube
A.7 Per-Fragment Lighting of Sphere Model
A.8 Rotating Cube with Texture
A.9 Figure with Tree Traversal
A.10 Teapot Renderer
APPENIX B SPACER
B.1 Scalars
B.2 Vector Spaces
B.3 Affine Spaces
B.4 Euclidean Spaces
B.S Projections
B.6 Gram-Schmidt Orthogonalization
Suggested Readings
Exercises
APPENIX C MATRICES
C.1 Definitions
C.2 Matrix Operations
C.3 Row and Column Matrices
C.4 Rank
C.5 Change of Representation
C.6 The Cross Product
C.7 Eigenvalues and Eigenvectors
C.8 Vector and Matrix Classes
Suggested Readings
Exercises
APPENIX D SYNOPSIS OF OPENGL FUNCTIONS
D.1 Initialization and Window Functions
D,2 Vertex Buffer Objects
D.3 Interaction
D.4 Setting Attributes and Enabling Features
D.5 Texture and Image Functions
D.6 State and Buffer Manipulation
D.7 Query Functions
D.8 GLSL Functions
References
OpenGL Function Index
Subject Index