Tuesday, December 4th, 2018 Posted by Jim Thacker

Nvidia open-sources PhysX, unveils PhysX SDK 4.0

Nvidia has made PhysX, its real-time physics system, available under an open-source 3-clause BSD licence on desktop and mobile platforms.

The SDK remains closed-source for games consoles.

In addition, the company has unveiled PhysX SDK 4.0, the latest version of the SDK, improving performance on scenes with large numbers of objects or complex mechanical hierarchies.

PhysX SDK now open-source on desktop and mobile platforms
A real-time multiphysics system with capabilities including rigid bodies, cloth and fluid particles, PhysX is integrated into game engines including UE4, Unity, CryEngine and Lumberyard.

According to Nvidia, by 2015, the technology had been used on over 500 commercial games.

The same year, the firm posted the source code for the PhysX SDK for Windows, Linux, Mac OS X and Android, although to access it, you had to sign a custom EULA.

Today’s announcement makes the source code for PhysX SDK 3.4 available under a standard open-source 3-clause BSD licence on all of those platforms, plus iOS.

Console platforms – Xbox One, PlayStation 4 and Switch – still use the custom EULA.

The latest in a line of Nvidia technologies to have been open-sourced
PhysX is also supported in some DCC applications – 3ds Max and Maya have external PhysX plugins – although uptake of the open-source Bullet physics library has historically been far wider.

Whether that changes now that that PhysX is open-source remains to be seen, but PhysX isn’t the only previously proprietary SDK that Nvidia has opened recently.

In August, the firm open-sourced the SDK for MDL, its cross-application material definition language, again under a 3-clause BSD licence.

It also made its OptiX GPU ray tracing library available as part of a driver install, making it compatible with the GPL licence used by open-source 3D tools like Blender.

New in PhysX SDK 4.0: better solving of jointed hierarchies and complex scenes
Although it’s being overshadowed by the rest of today’s news, Nvidia has also unveiled version 4.0 of the PhysX SDK, due to become available next month.

The update includes a number of features targeted at use cases beyond games: Nvidia’s blog post namechecks robotics, high-performance computing and self-driving cars.

Although DCC and industrial design aren’t included in that list, much of the new functionality looks equally relevant to those market sectors.

New features include a Temporal Gauss-Seidel Solver, for more robust solving of complex jointed hierarchies like robot arms – or actually, good old-fashioned CG characters.

Handling of bounding volumes has also been overhauled, which should improve performance in scenes with large numbers of collision objects.

Availability and system requirements
The source code for PhysX SDK 3.4 is available on GitHub. Platforms covered by the new 3-clause BSD licence include Windows XP+, Ubuntu Linux, Mac OS X, Android 2.2+ and iOS.

The PhysX engine is capable of running on both CPU and GPU – although, unsuprisingly, to make use of GPU acceleration, you need a compatible Nvidia graphics card.

PhysX SDK 4.0 is due to become available on 20 December 2018 under the same licence terms.

Read Nvidia’s blog post announcing that the PhysX SDK is now available open-source

Read a full list of new features in PhysX SDK 4.0 on Nvidia’s developer website