Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Chapter 1: The Rendering Pipeline
- 1.1 Graphics Processors
- 1.2 Vertex Transformation
- 1.3 Rasterization and Fragment Operations
- Chapter 2: Vectors
- 2.1 Vector Properties
- 2.2 Dot Products
- 2.3 Cross Products
- 2.4 Vector Spaces
- Chapter 3: Matrices
- 3.1 Matrix Properties
- 3.2 Linear Systems
- 3.3 Matrix Inverses
- 3.4 Determinants
- 3.5 Eigenvalues and Eigenvectors
- 3.6 Diagonalization
- Chapter 4: Transforms
- 4.1 Linear Transformations
- 4.1.1 Orthogonal Matrices
- 4.1.2 Handedness
- 4.2 Scaling Transforms
- 4.3 Rotation Transforms
- 4.3.1 Rotation About an Arbitrary Axis
- 4.4 Homogeneous Coordinates
- 4.4.1 Four-dimensional Transforms
- 4.4.2 Points and Directions
- 4.4.3 Geometrical Interpretation of the w-coordinate
- 4.5 Transforming Normal Vectors
- 4.6 Quaternions
- 4.6.1 Quaternion Mathematics
- 4.6.2 Rotations with Quaternions
- 4.6.3 Spherical Linear Interpolation
- Chapter 5: Geometry for 3D Engines
- 5.1 Lines in 3D Space
- 5.1.1 Distance Between a Point and a Line
- 5.1.2 Distance Between Two Lines
- 5.2 Planes in 3D Space
- 5.2.1 Intersection of a Line and a Plane
- 5.2.2 Intersection of Three Planes
- 5.2.3 Transforming Planes
- 5.3 The View Frustum
- 5.3.1 Field of View
- 5.3.2 Frustum Planes
- 5.4 Perspective Correct Interpolation
- 5.4.1 Depth Interpolation
- 5.4.2 Vertex Attribute Interpolation
- 5.5 Projections
- 5.5.1 Perspective Projections
- 5.5.2 Orthographic Projections
- 5.5.3 Extracting Frustum Planes
- 5.6 Reflections and Oblique Clipping
- Chapter 6: Ray Tracing
- 6.1 Root Finding
- 6.1.1 Quadratic Polynomials
- 6.1.2 Cubic Polynomials
- 6.1.3 Quartic Polynomials
- 6.1.4 Newton’s Method
- 6.1.5 Refinement of Reciprocals and Square Roots
- 6.2 Surface Intersections
- 6.2.1 Intersection of a Ray and a Triangle
- 6.2.2 Intersection of a Ray and a Box
- 6.2.3 Intersection of a Ray and a Sphere
- 6.2.4 Intersection of a Ray and a Cylinder
- 6.2.5 Intersection of a Ray and a Torus
- 6.3 Normal Vector Calculation
- 6.4 Reflection and Refraction Vectors
- 6.4.1 Reflection Vector Calculation
- 6.4.2 Refraction Vector Calculation
- Chapter 7: Lighting and Shading
- 7.1 RGB Color
- 7.2 Light Sources
- 7.2.1 Ambient Light
- 7.2.2 Directional Light Sources
- 7.2.3 Point Light Sources
- 7.2.4 Spot Light Sources
- 7.3 Diffuse Reflection
- 7.4 Specular Reflection
- 7.5 Texture Mapping
- 7.5.1 Standard Texture Maps
- 7.5.2 Projective Texture Maps
- 7.5.3 Cube Texture Maps
- 7.5.4 Filtering and Mipmaps
- 7.6 Emission
- 7.7 Shading Models
- 7.7.1 Calculating Normal Vectors
- 7.7.2 Gouraud Shading
- 7.7.3 Blinn-Phong Shading
- 7.8 Bump Mapping
- 7.8.1 Bump Map Construction
- 7.8.2 Tangent Space
- 7.8.3 Calculating Tangent Vectors
- 7.8.4 Implementation
- 7.9 A Physical Reflection Model
- 7.9.1 Bidirectional Reflectance Distribution Functions
- 7.9.2 Cook-Torrance Illumination
- 7.9.3 The Fresnel Factor
- 7.9.4 The Microfacet Distribution Function
- 7.9.5 The Geometrical Attenuation Factor
- 7.9.6 Implementation
- Chapter 8: Visibility Determination
- 8.1 Bounding Volume Construction
- 8.1.1 Principal Component Analysis
- 8.1.2 Bounding Box Construction
- 8.1.3 Bounding Sphere Construction
- 8.1.4 Bounding Ellipsoid Construction
- 8.1.5 Bounding Cylinder Construction
- 8.2 Bounding Volume Tests
- 8.2.1 Bounding Sphere Test
- 8.2.2 Bounding Ellipsoid Test
- 8.2.3 Bounding Cylinder Test
- 8.2.4 Bounding Box Test
- 8.3 Spatial Partitioning
- 8.3.1 Octrees
- 8.3.2 Binary Space Partitioning Trees
- 8.4 Portal Systems
- 8.4.1 Portal Clipping
- 8.4.2 Reduced View Frustums
- Chapter 9: Polygonal Techniques
- 9.1 Depth Value Offset
- 9.1.1 Projection Matrix Modification
- 9.1.2 Offset Value Selection
- 9.1.3 Implementation
- 9.2 Decal Application
- 9.2.1 Decal Mesh Construction
- 9.2.2 Polygon Clipping
- 9.3 Billboarding
- 9.3.1 Unconstrained Quads
- 9.3.2 Constrained Quads
- 9.3.3 Polyboards
- 9.4 Polygon Reduction
- 9.5 T-Junction Elimination
- 9.6 Triangulation
- Chapter 10: Shadows
- 10.1 Shadow Casting Set
- 10.2 Shadow Mapping
- 10.2.1 Rendering the Shadow Map
- 10.2.2 Rendering the Main Scene
- 10.2.3 Self-Shadowing
- 10.3 Stencil Shadows
- 10.3.1 Algorithm Overview
- 10.3.2 Infinite View Frustums
- 10.3.3 Silhouette Determination
- 10.3.4 Shadow Volume Construction
- 10.3.5 Determining Cap Necessity
- 10.3.6 Rendering Shadow Volumes
- 10.3.7 Scissor Optimization
- Chapter 11: Curves and Surfaces
- 11.1 Cubic Curves
- 11.2 Hermite Curves
- 11.3 Bézier Curves
- 11.3.1 Cubic Bézier Curves
- 11.3.2 Bézier Curve Truncation
- 11.3.3 The de Casteljau Algorithm
- 11.4 Catmull-Rom Splines
- 11.5 Cubic Splines
- 11.6 B-Splines
- 11.6.1 Uniform B-Splines
- 11.6.2 B-Spline Globalization
- 11.6.3 Nonuniform B-Splines
- 11.6.4 NURBS
- 11.7 Bicubic Surfaces
- 11.8 Curvature and Torsion
- Chapter 12: Collision Detection
- 12.1 Plane Collisions
- 12.1.1 Collision of a Sphere and a Plane
- 12.1.2 Collision of a Box and a Plane
- 12.1.3 Spatial Partitioning
- 12.2 General Sphere Collisions
- 12.3 Sliding
- 12.4 Collision of Two Spheres
- Chapter 13: Linear Physics
- 13.1 Position Functions
- 13.2 Second-Order Differential Equations
- 13.2.1 Homogeneous Equations
- 13.2.2 Nonhomogeneous Equations
- 13.2.3 Initial Conditions
- 13.3 Projectile Motion
- 13.4 Resisted Motion
- 13.5 Friction
- Chapter 14: Rotational Physics
- 14.1 Rotating Environments
- 14.1.1 Angular Velocity
- 14.1.2 The Centrifugal Force
- 14.1.3 The Coriolis Force
- 14.2 Rigid Body Motion
- 14.2.1 Center of Mass
- 14.2.2 Angular Momentum and Torque
- 14.2.3 The Inertia Tensor
- 14.2.4 Principal Axes of Inertia
- 14.2.5 Transforming the Inertia Tensor
- 14.3 Oscillatory Motion
- 14.3.1 Spring Motion
- 14.3.2 Pendulum Motion
- Chapter 15: Fluid and Cloth Simulation
- 15.1 Fluid Simulation
- 15.1.1 The Wave Equation
- 15.1.2 Approximating Derivatives
- 15.1.3 Evaluating Surface Displacement
- 15.1.4 Implementation
- 15.2 Cloth Simulation
- 15.2.1 The Spring System
- 15.2.2 External Forces
- 15.2.3 Implementation
- Chapter 16: Numerical Methods
- 16.1 Trigonometric Functions
- 16.2 Linear Systems
- 16.2.1 Triangular Systems
- 16.2.2 Gaussian Elimination
- 16.2.3 LU Decomposition
- 16.2.4 Error Reduction
- 16.2.5 Tridiagonal Systems
- 16.3 Eigenvalues and Eigenvectors
- 16.4 Ordinary Differential Equations
- 16.4.1 Euler’s Method
- 16.4.2 Taylor Series Method
- 16.4.3 Runge-Kutta Method
- 16.4.4 Higher-Order Differential Equations
- Appendix A: Complex Numbers
- A.1 Definition
- A.2 Addition and Multiplication
- A.3 Conjugates and Inverses
- A.4 The Euler Formula
- Appendix B: Trigonometry Reference
- B.1 Function Definitions
- B.2 Symmetry and Phase Shifts
- B.3 Pythagorean Identities
- B.4 Exponential Identities
- B.5 Inverse Functions
- B.6 Laws of Sines and Cosines
- Appendix C: Coordinate Systems
- C.1 Cartesian Coordinates
- C.2 Cylindrical Coordinates
- C.3 Spherical Coordinates
- C.4 Generalized Coordinates
- Appendix D: Taylor Series
- D.1 Derivation
- D.2 Power Series
- D.3 The Euler Formula
- Appendix E: Answers to Exercises
Add Comment
Please, Sign In to add comment