Yeah, the PhysX 5 SDK is finally available and is open source like its predecessor, PhysX 4. This is a great new because it was not clear whether PhysX 5 would be released one day or kept for ever in Omniverse only. Thanks NVIDIA!
Built Nov 08, 2022
Welcome to the NVIDIA PhysX SDK version 5! We are pleased to finally release this much anticipated update on GitHub, years after the release of version 4. PhysX has, in the meantime, become the primary physics engine of NVIDIA Omniverse, and for a while it was unclear if it will ever be available again for use in other applications and platforms.
PhysX has also become a key reference implementation of the similarly open source Pixar Universal Scene Description (USD) Physics standard available at PixarAnimationStudios/USD on GitHub. This informed the decision to return to the more permissive licensing terms used for PhysX 4. This means that all CPU source code is available under the simple BSD3 open source license, and NVIDIA GPU binaries are included at no cost.
We have also decided that our Flow and Blast libraries, while technically not depending on PhysX, should be part of a PhysX product family and licensed together. For that reason Flow is now bundled in the same GitHub repo and Blast will be added soon.
In terms of new features, PhysX 5 now includes former NVIDIA Flex library capabilities like finite element model based soft body dynamics, and liquid, cloth and inflatable objects using position based dynamics. We have also added a signed distance field collision feature, which lets the user perform collision detection using a voxelized version of the source mesh, thus avoiding having to create a convex decomposition. All these can only run on the GPU. In terms of new CPU features, PhysX 5 now lets the user define custom geometries, meaning cylinder shapes or implicit block based worlds can now be supported. Both CPU and GPU parallel computing performance for large simulations has been significantly improved.
Like already the change from PhysX 3 to 4, the public API doesn’t have any massive changes. Nonetheless it will be a good idea to look at Migrating From PhysX SDK 4.0 to 5.1 and possibly even the earlier migration guides, depending on which older SDK you are already familiar with. Users completely new to PhysX should probably just start reading this user’s guide and then step through some of our very simple sample code we call snippets.
The github repository contains PhysX SDK version 220.127.116.11022492.
As soon as possible, I’m going to update GeeXLab by adding a new PhysX 5 plugin.
I compiled the SDK in few minutes and here are screenshots of some snippets:
path tracing demo:
custom geometry demo: