NVIDIA PhysX is a real-time physics simulation engine written in C++ that powers rigid body dynamics, collision detection, and constraint solving for interactive applications and games.
The engine solves the problem of computing physically accurate motion and interactions between objects in real time. It works by maintaining a scene graph of rigid bodies, shapes, and constraints, then stepping the simulation forward by computing forces, resolving collisions, and integrating motion equations. The repository also includes the Blast SDK for destruction and fracture simulation and the Flow SDK for fluid and fire simulation, extending the physics capabilities beyond rigid body dynamics.
Developers should choose this tool when building games, robotics simulations, or interactive 3D applications that require deterministic, performant physics. The repository offers ovphysx, a C API with Python bindings that integrates with USD for physics simulation and provides DLPack tensor interoperability, making it suitable for machine learning pipelines and scientific computing. The Omniverse PhysX extensions integrate with Kit-based applications and are tested against IsaacSim releases, so adoption is most straightforward if you are already working within the Omniverse ecosystem or building on top of IsaacSim.
The project maintains multiple release branches tracking compatibility with different PhysX SDK versions and IsaacSim releases, indicating active coordination between the physics engine and downstream simulation platforms. Development spans the core PhysX SDK, specialized simulation libraries for destruction and fluids, and higher-level bindings and extensions, suggesting a layered architecture that separates the engine from application-specific integrations.