NVIDIA has just announced a new major version to their popular physics middleware: PhysX 4.0. They also announced that it (both 4.0 and 3.4) will be re-licensed as 3-line BSD. In terms of open-source licenses, this is about a permissive as you can get. You are basically free to do whatever you want – commercial, modified, unmodified, whatever – if you follow the guidelines (which are things like “no warranty”, “don’t sue us for liability”, “give us credit by leaving a copy of the license in all binary and source releases”, and “we’re not endorsing your product so don’t pretend that we are”).
For gamers? It will take a little while before this comes around to you. Unity is currently preparing to update to PhysX 3.4 with their upcoming 2018.3 release; that was the first major PhysX update since Unity 5.0 upgraded from PhysX 2.x to PhysX 3.3 back in March 2015. Epic Games seems to be a little quicker to update to a new PhysX version, but there’s nothing announced on their side either as far as I can tell.
On the technical side: this release of PhysX is interesting.
As mentioned, Unity 5.0 was the point when their PhysX implementation jumped from 2.x to 3.3. This was not a clean transition. NVIDIA changed the way that many of their solvers worked, making them much faster but also less stable (as in simulation stability – so, like, oscillating and breaking apart). While this was acceptable (because most simulations are cosmetic and, if it mattered, you had more performance to just increase the physics tick-rate to compensate) it upset developers who relied upon the stability of PhysX 2, forcing them to work around the glitches.
According to NVIDIA’s promotional video, this version is both more stable and faster. This means that it should be less work to setup things like ragdolls and ball-and-chain systems, while also supposedly being faster. In terms of stability, they intentionally showed a simulation of three balls and chains with varying masses. In PhysX 3.x, this tends to be a degenerate case where joints freak out and split (unless you compensate with smaller physics time steps). Even if it’s on-par with PhysX 3.x, this is a huge win for indie game developers.
PhysX 4.0 will be available for developers on December 20th. It’s unclear when any given engine will integrate it, however.
How long do you think it’s
How long do you think it’s going to take for someone to get it to run the GPU accelerated version on non-Nvidia hardware?
With the Registration
With the Registration Requirements for any Nvidia Developer what sorts of restrictions will Nvidia have or be able to add at will under the Nvidia’s Registered Developer Terms and Conditions?
Wikipedia states that:
“Nvidia made the source code for PhysX available on GitHub, but required registration at developer.nvidia.com”(1)
So what sorts of restrictions will developers have to agree to when registering as Nvidia Developers. Opened Source does not equate to without some restrictions and what terms and conditions does one have to agree to with regards to becoming a registered Nvidia Developer.
(1)
“PhysX”
https://en.wikipedia.org/wiki/PhysX
That’s old. The new license
That's old. The new license is BSD (except on consoles) for PhysX 3.4 and 4.0.
And what about consoles,
And what about consoles, what’s the restriction there?
And the Nvidia Developer Terms and Conditons what restrictions apply.
Open Sorce Code and Free Software are two very different things and Nvidia’s Ts&Cs may not allow many freedoms nor will any Nvidia Developer Terms and Conditions, that may just entangle many developers under non Industry Standards restrictions.
I’d rather see the Gaming Industry using some Standard API that’s developed and maintained under the Khronos standards organization than become Dependent on any API that’s controlled by one GPU maker’s “Open Sourced” but restricted source code.
AMD ceeded its Mantle IP over to Khronos and renamed to Vulkan and fruther developed as that API.
Simply making source code available at GITHUB is not really Open Source if only one GPU maker still hold full control over the code base/API.
If Nvidia wants to give that source code over to the Khronos Group’s full control and maintainence then that’s the better way to do things as AMD has done with its Mantle Source Code that became the foundation for the Vulkan Graphics API.
Vulkan can be used across all device markets under the Khronos Group’s full control and maintainence and Nvidia is just a member of Khronos Group along with AMD and Intel/others than make up the entire computing industry. That’s the proper way to create standards through and industry standards body like Khronos/other standards bodies.
nVidia cannot give anything
nVidia cannot give anything to itself since the president of Khronos Group is from nVidia…