Popping up a little while ago on Twitter, NVIDIA has announced that they've now put PhysX under an open source license.
Something I am sure many game developers and the open source community will approve of. Writing about it on their official blog, NVIDIA said "We’re doing this because physics simulation — long key to immersive games and entertainment — turns out to be more important than we ever thought.".

Direct Link
Originally from NovodeX, which was later acquired by Ageia and then in 2008 Ageia itself was acquired by NVIDIA. Instead of focusing on a dedicated expansion card, NVIDIA decided to work with it together with their own GPUs.
You can find it on GitHub under the BSD-3 license. It's good to see NVIDIA do more like this.
DrMcCoyNow someone "only" needs to migrate that code over to use OpenCL instead of CUDA, leading to a fully portable physics system.
I think Bullet was going for that, but last I heard it was still experimental. And I had trouble with Mesa's OpenCL implementation, which is a shame.
Of course, compute is available through OpenGL and Vulkan, but I don't think they're as complete (for lack of a better term) for a purely compute based solution like OpenCL or CUDA. If the physics was just for gaming, not sure that would matter.
But, I'm sure someone will start converting from cuda (if this release includes the gpu acceleration - I've not delved into it, but maybe it's just the CPU side of physx).
Correct me if I'm wrong, they are not open right?
Also, what stops anyone from using Vulkan compute shaders instead of OpenCL?
Last edited by Shmerl on 3 December 2018 at 5:30 pm UTC
ShmerlIt doesn't look too useful. Still tied to CUDA for hardware acceleration.
Also, what stops anyone from using Vulkan compute shaders instead of OpenCL?
Nothing stops it, but Vulkan isn't intended as a dedicated compute language. There could be corner cases where using OpenCL is still better; not everything is purely about the shader, some things are about what the standard allows in the execution model.
I can't give concrete examples because this is an area I'm still learning (not far beyond hello world actually), but I'm aware that Vulkan compute and OpenCL are not equal. That being said....I think they (Khronos) are planning to converge the roadmaps so that eventually they will be basically equal. Citation needed.
mirvAnd I had trouble with Mesa's OpenCL implementation, which is a shame.Mesa's Clover OpenCL state tracker is a bit outdated. The main reason is that AMD is now focusing on their ROCm platform, which sadly is not yet 100% open source. It currently needs some closed source components for OpenCL image support, but AMD said that those components will either be open sourced or replaced in the near future.
Nevertheless, I just recently installed it via the unofficial Gentoo ebuilds, and I must say, that it indeed ROCks.
loggfreakdoes this mean AMD can implement GPU physx?
Yes. Someone could also extend OpenCL, etc. versions of it and make it even MORE generic.
orochi_kyoWell, I guess theyll make Raytracking opensource when its not relevant(a gimmick to sell videocards) anymore.
Meh... One could get there if you followed the papers. Patents MIGHT be of concern, but they'd need to have filed those patents within a year of their disclosure of the basics of the whole process.
svartalfloggfreakdoes this mean AMD can implement GPU physx?
Yes. Someone could also extend OpenCL, etc. versions of it and make it even MORE generic.
doesnt nvidia has a processor thingy in the gpu, which is only for physx? so it isnt just software, but hardware?
See more from me