O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Physics Modeling with PhysX

Book Description

As a game developer, you’ll know the power of PhysX to add simulation-level realism to games, and this book shows you exactly how best to achieve it with a hands-on, examples-led approach. Sophisticated stuff.

  • Learn everything you need to know about PhysX programming from scratch
  • Master the most advanced features of the PhysX Physics Engine
  • Code examples are included in each chapter to help you learn quickly and efficiently

In Detail

In this day and age, physics engines play a very critical role in the success of a sophisticated game. PhysX is a state-of-the-art cross-platform physics engine widely used by top game studios and developers. It contains all the physics-related components you will need and exploits the parallel-processing capability of modern GPUs as well as multi-core CPUs to make a game as physically-realistic as possible. This book will help you to program and simulate games by using PhysX 3.

Learning Physics Modeling with PhysX helps you to master physics simulation using the PhysX Physics Engine from scratch. This is useful not only for game developers, but also for developers making virtual walkthroughs or training and other simulation applications. It will cover all the essential features of PhysX 3 with easy-to-understand code snippets and examples to help you learn quickly and efficiently.

This book will start off by introducing you to the basic concepts of physic engines and will give you a glimpse of PhysX implementation. We then gradually cover more sophisticated topics with sample source code so that you can see what you have learned in action. We will cover the history and features of the PhysX SDK as well as how to configure it with the C++ compiler. After touching upon essential topics like rigid body dynamics and collision detection, we will gradually move on to more advanced topics like joints, scene queries, character controllers, particles, and cloth simulation. By the end of this book, you will have learned everything you need to know about the PhysX 3 Physics Engine, and you will be able to use it to program your very own physics simulation quickly and efficiently.

Table of Contents

  1. Learning Physics Modeling with PhysX
    1. Table of Contents
    2. Learning Physics Modeling with PhysX
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Starting with PhysX 3 SDK
      1. Brief history
      2. PhysX features
        1. New in PhysX 3
      3. Downloading PhysX SDK and tools
        1. The PhysX SDK license
        2. System requirements for PhysX
      4. Configuring with VC++ Express 2010
      5. Summary
    9. 2. Basic Concepts
      1. Scene and Actors
      2. Materials
      3. Shapes
      4. Creating the first PhysX 3 program
        1. Initializing PhysX
        2. Creating scene
        3. Creating actors
      5. Simulating PhysX
      6. Shutting down PhysX
      7. Summary
    10. 3. Rigid Body Dynamics
      1. Exploring a rigid body
        1. Mass
        2. Density
        3. Gravity
        4. Velocity
        5. Force and Torque
        6. Damping
        7. Kinematic actors
        8. Sleeping state
        9. Solver accuracy
      2. Summary
    11. 4. Collision Detection
      1. Collision shapes
        1. Geometry
          1. Sphere
          2. Box
          3. Capsule
          4. Plane
      2. Trigger shapes
      3. Simulation event
        1. Trigger event
        2. Contact event
      4. Filter shader
      5. Broad-Phase collision detection
        1. Sweep-and-prune (SAP)
        2. Multi box pruning (MBP)
      6. Narrow-Phase collision detection
      7. Continuous collision detection
      8. Summary
    12. 5. Joints
      1. Joints in PhysX
        1. Fixed joints
        2. Revolute joints
        3. Spherical joints
        4. Distance joints
        5. Prismatic joints
        6. D6 joints
      2. Summary
    13. 6. Scene Queries
      1. Raycast queries
      2. Sweep queries
      3. Overlap queries
      4. Summary
    14. 7. Character Controller
      1. Character controller basics
        1. The need of a character controller
        2. Creating a character controller
        3. Moving a character controller
        4. Useful methods and properties
          1. Position update
          2. Shapes of a character controller
          3. Size update
          4. Auto-stepping
          5. Slope limit
      2. Summary
    15. 8. Particles
      1. Exploring particles
      2. Creating a particle system
        1. Particles without intercollision
        2. Particles with intercollision
      3. Particle system properties
      4. Creating particles
      5. Updating particles
      6. Releasing particles
      7. Particle drains
      8. Collision filtering
      9. Summary
    16. 9. Cloth
      1. Exploring a cloth
      2. Creating a cloth fabric
      3. Creating a cloth
      4. Tweaking the cloth properties
        1. Cloth collision
        2. Cloth particle motion constraint
        3. Cloth particle separation constraint
        4. Cloth self-collision
        5. Cloth intercollision
        6. Cloth GPU acceleration
      5. Summary
    17. 10. PhysX Visual Debugger (PVD)
      1. PhysX Visual Debugger (PVD) basics
      2. Connecting PVD using a network
      3. Saving PVD data as a file
      4. Connection flags
      5. Summary
    18. Index