Book Image

Learning Physics Modeling with PhysX

By : Krishna Kumar
Book Image

Learning Physics Modeling with PhysX

By: Krishna Kumar

Overview of this book

<p>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.</p> <p>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.</p> <p>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.</p>
Table of Contents (17 chapters)
Learning Physics Modeling with PhysX
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Broad-Phase collision detection


An axis aligned bounding box (AABB) for a PhysX object is the smallest box that can enclose that object provided the box edges are always parallel to the coordinate axes. The AABB of an object never rotates, although the object itself can rotate in any axis.

AABB (axis aligned bounding box) of a heart shaped object

If the AABB of two objects are not overlapping or colliding with each other, under no circumstances objects of AABB can collide with each other. On the other hand if AABB of two objects are overlapping/colliding, collision between actual objects can happen but it's not guaranteed. Checking collision using AABB is much cheaper than checking collision of actual objects because it's just a box, but the object itself may be made of a large numbers of polygons, which is expensive in terms of CPU processing.

AABB of two objects without overlapping and with overlapping

In broad phase collision detection, we can avoid the unnecessary calculation of object to...