explaingit

nvidia-omniverse/physx

4,534C++Audience · developerComplexity · 5/5LicenseSetup · hard

TLDR

NVIDIA's open-source real-time physics engine used in games and 3D apps to simulate collisions, destruction, and fluid effects, now including Python bindings for machine learning workflows.

Mindmap

mindmap
  root((physx))
    What it does
      Physics simulation
      Collision detection
      Destruction effects
      Fluid and fire
    Components
      PhysX SDK
      Blast library
      Flow library
      Python bindings
    Tech stack
      C++
      CUDA
      Python
      DLPack
    Use cases
      Game physics
      ML training
      Omniverse apps
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add realistic physics to a game or interactive 3D app, rigid body collisions, gravity, and forces, using the PhysX C++ SDK.

USE CASE 2

Use the Python bindings to pipe physics simulation data into a machine learning training loop via DLPack tensor exchange.

USE CASE 3

Simulate objects breaking apart in a game scene using the Blast destruction library bundled in the repo.

USE CASE 4

Add fire and fluid simulation to an NVIDIA Omniverse Kit application using the included Flow component.

Tech stack

C++PythonCUDADLPack

Getting it running

Difficulty · hard Time to first run · 1day+

Building from source requires a C++ toolchain and CUDA for GPU acceleration, each component has its own build instructions inside its subdirectory.

Use, modify, and redistribute freely for any purpose including commercial use, as long as you include attribution to NVIDIA.

In plain English

NVIDIA PhysX is a real-time physics simulation engine developed and maintained by NVIDIA Corporation. It is the same library that many video games and interactive 3D applications use to simulate how objects fall, collide, bounce, fracture, and interact with forces in a realistic way. The source code is written in C++ and released as open-source under a BSD-style license, meaning anyone can use, modify, and build on it as long as they include attribution to NVIDIA. The repository holds several distinct components organized by directory. The core PhysX SDK is the general-purpose real-time simulation engine. Alongside it sits ovphysx, a C API with Python bindings that connects physics simulation to modern machine learning workflows via the DLPack tensor protocol, and is installable as a Python package. Two additional simulation libraries are included: Blast, which handles destruction and fracture (how objects break apart), and Flow, which handles fluid and fire simulation. A fifth component provides PhysX extensions for NVIDIA Omniverse Kit-based applications. The README is spare on usage details and serves mainly to orient you to the directory layout. For questions or discussion about the SDK, the project points to GitHub Discussions and a Discord channel dedicated to physics in the NVIDIA Omniverse ecosystem. Bug reports and documentation issues are tracked through GitHub Issues. Detailed setup, build instructions, and API documentation are expected to live within the individual subdirectory trees rather than the top-level README.

Copy-paste prompts

Prompt 1
Show me a minimal C++ example using the PhysX SDK to create a rigid body that falls under gravity and detects a collision with a ground plane.
Prompt 2
How do I install the ovphysx Python package from the NVIDIA PhysX repo and run a basic simulation using the Python API with DLPack tensors?
Prompt 3
Using the PhysX Blast library, how do I set up a destructible mesh that fractures into pieces when it takes impact above a threshold force?
Prompt 4
What are the build requirements for compiling the PhysX SDK from source on Linux, and how do I enable CUDA for GPU-accelerated simulation?
Prompt 5
How do I integrate the PhysX Flow library to add a fire or smoke simulation to an Omniverse Kit scene?
Open on GitHub → Explain another repo

← nvidia-omniverse on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.