Mathematics for 3D Game Programming and Computer Graphics, Third Edition splits its core architecture into four mathematical areas: linear algebra, geometric transformations, rendering mathematics, and physical simulation.
1. Vectors and Transformations
- Vector Geometry: Math behind dot products, cross products, and coordinate spaces.
- Matrices: Matrix inversions, determinants, and standard transformation mathematics.
- Homogeneous Coordinates: Four-dimensional coordinate spaces tracking translation and perspective projections.
- Quaternions: Advanced algebra solving smooth, artifact-free 3D object rotations.
2. Geometry and Projections
- Lines and Planes: Intersection tests between rays, lines, and spatial boundaries.
- View Frustums: Mathematical definitions outlining a virtual camera's visibility zone.
- Projection Matrices: Converting 3D world coordinates onto a 2D viewport.
- Interpolation: Perspective-correct attribute mapping across individual polygons.
3. Advanced Rendering Mechanics
- Illumination Math: Algorithmic formulas governing ambient, diffuse, and specular reflections.
- Visibility Culling: Spatial tracking using portals, bounding boxes, and octree trees.
- Shadow Volumetrics: Geometric structures generating real-time shadow volumes and stencil shapes.
- Ray Tracing: Mathematical tracking calculating direct light reflection and refraction bounces.
4. Physics and Numerical Simulations
- Collision Detection: Intersection checking between complex bounding meshes, spheres, and triangles.
- Rigid Body Dynamics: Solving equations for angular momentum, torque, and inertia tensors.
- Fluid and Cloth: Advanced math utilizing mass-spring models and surface wave equations.
- Numerical Methods: Approximations using Taylor series, Euler integration, and Runge-Kutta solvers.
If you are diving into a specific engine project, let me know:
- Which of these four mathematical areas aligns closest with your project?
- Would you like an explanation of the exact programming formulas behind one of these concepts?