368 Pages
    by A K Peters/CRC Press

    Implementing physical simulations for real-time games is a complex task that requires a solid understanding of a wide range of concepts from the fields of mathematics, physics, and software engineering. This book is a gems-like collection of practical articles in the area of game physics. Each provides hands-on detail that can be used in practical applications.

    The chapters cover topics such as collision detection, particle-based simulations, constraint solving, and soft-body simulation. An introductory section provides the mathematical foundations and offers some background for the problems inherent in successful physics simulation. The contributors write based on their experience in developing tools and runtime libraries either in game companies or middleware houses that produce physics software for games on PCs and consoles.

    GAME PHYSICS 101
    Mathematical Background
    Introduction
    Vectors and Points
    Lines and Planes
    Matrices and Transformations
    Quaternions
    Rigid-Body Dynamics
    Numerical Integration
    Further Reading

    Understanding Game Physics Artifacts
    Introduction
    Discretizalion and Linearization
    Time Stepping and the Well of Despair
    The Curse of Rotations
    Solver
    Collision Detection
    Joints
    Direct Animation
    Artifact Reference

    COLLISION DETECTION
    Broad Phase and Constraint Optimization for PlayStation 3
    Introduction
    Overview of CellBE
    Optimization of the Broad Phase
    Optimization of the Constraint Solver
    Conclusion

    SAT in Narrow Phase and Contact-Manifold Generation
    Introduction
    Contact Manifold
    Physics Engine Pipeline
    SAT Basics
    Intuitive Gauss Map
    Computing Full Contact Manifolds
    SAT Optimizations

    Smooth Mesh Contacts with GJK
    Introduction
    Configuration Space
    Support Mappings
    Overview of GJK
    Johnson’s Algorithm
    Continuous Collision Detection
    Contacts
    Conclusion

    PARTICLES
    Optimized SPH
    Introduction
    The SPH Equations
    An Algorithm for SPH Simulation
    The Choice of Data Structure
    Collapsing the SPH Algorithm
    Stability and Behavior
    Performance
    Conclusion
    Appendix: Scaling the Pressure Force

    Parallelizing Particle-Based Simulation on Multiple Processors
    Introduction
    Dividing Computation
    Data Management without Duplication
    Choosing an Acceleration Structure
    Data Transfer Using Grids
    Results
    Conclusion

    CONSTRAINT SOLVING
    Ropes as Constraints
    Introduction
    Free-Hanging Ropes
    Strained Ropes

    Quaternion-Based Constraints
    Introduction
    Notation and Definitions
    The Problem
    Constraint Definitions
    Matrix-Based Quaternion Algebra
    A New Tale on Quaternion-Based Constraints
    Why It Works
    More General Frames
    Limits and Drivers
    Examples
    Conclusion

    SOFT BODY
    Soft Bodies Using Finite Elements
    Introduction
    Continuum Mechanics
    Linear FEM
    Solving the Linear System
    Surface-Mesh Update

    Particle-Based Simulation Using Verlet Integration
    Introduction
    Techniques for Numerical Integration
    Using Relaxation to Solve Systems of Equations
    Rigid Bodies
    Articulated Bodies
    Miscellaneous
    Conclusion

    Keep Yer Shirt On
    Introduction
    Stable Real-Time Cloth
    Modeling Real Fabrics
    Performance
    Order of Cloth Update Stages
    Conclusion, Results, and Future

    SKINNING
    Layered Skin Simulation
    Introduction
    Layered Deformation Architecture
    Smooth Skinning
    Anatomical Collisions
    Relaxalion
    Jiggle
    Conclusion

    Dynamic Secondary Skin Deformations
    Introduction
    The Interaction Model
    Neighborhood Interaction
    Volumetric Effects
    Final Remarks

    Index

    A Bibliography appears at the end of each chapter.

    Biography

    Gino van den Bergen is an experienced 3D graphics and geometry developer working at DTECTA, which offers middleware for collision detection and custom 3D software development. He has over 15 years of experience programming 3D applications in C++ and 5 years of programming experience in the game industry. He earned a Ph.D. in computing science from Eindhoven University of Technology.

    Dirk Gregorius is a contractor for game studios, middleware vendors, and publishers. He has extensive experience in the computer game industry, having worked at Havok and Factor 5, where he was responsible for cloth and rigid body physics.

    A fine, technical guide for any computer programmer or gamer interested in knowing more about the physics behind sports and games.
    The Midwest Book Review, February 2012