Discussion in 'Article Discussion' started by bit-tech, 4 Dec 2018.
I was rather shocked when I found out they'd released it under BSD-3. Never expected that at all.
Although part of me wonders if they've done this basically because no one seems to use PhysX for games any more - Havok appears to have more or less completely displaced it.
That's news to me, obviously I've misinterpreted a list of open source physics engines on wikipedia.
Ah, but you've got to read Nvidia's claim carefully: the engine has to be free and open-source and can use GPU acceleration, which in Nvidia's world means CUDA, and can handle large environments (the definition of "large" being entirely left to Nvidia, so all it has to do is support one object more than the competition and ta-da!)
Just spotted that PhysX was still in the "closed source" section of that page, actually - figured I'd do Wikipedia a favour and shift it for 'em.
PhysX is likely the most used physics engine. You don't see the "LOOK AT OUR FLAPPY CLOTH" marketing anymore (much), but the actual engine is ubiquitous. And that's what's been open-sourced.
Don't think it is just CUDA, there's been non-CUDA implementations where CUDA wasn't an option - for example it ran on the PS3's cell processor using it's SPE's. What I suspect this comes down too was it was always possible to make an implementation for pretty well any variant of processor (could be a gpu or a cpu, or something in-between) but Nvidia had to provide it. This is meant to get the people writing software for their self driving car processor or industrial robot (some specialist thing so not Nvidia) to write a physx implementation themselves. That helps Nvidia as it gets their foot in the door, and it helps the self driving car people as they can simulate physics so the ai can use it to better understand what's going on around it.
I didn't say it was just CUDA: I was talking about how Nvidia is specifically saying PhysX 'takes advantage of GPU acceleration,' and when it says that it means CUDA; I wasn't saying PhysX can only run via CUDA, 'cos that's not true (hell, it runs on smartphones.)
If it's now integrated into larger engines... then yes it's much more common than I realised. I was working off of games that trumpet "PhysX!" or "Havok!" somewhere on the splash/credits screen. Ubiquitous, though? Not really. More common than is advertised, sure, but found everywhere?
Does Open Source mean "we can now see everythnig anyone does with it and therefore we will turn PhysX into Android or Googlemaps"?
or am I miles off.. I often am.
but Free is never Free.....
Open source means that the source code is available for you to not only view but modify - so if there was telemetry stuff in there feeding back to Nvidia, you're free to rip it out. (There's also "source available," which means that you can view the source but you can't do anything with it - thankfully, that's not what Nvidia's done 'cos BSD-3 is one of the shorter and more permissive of the FLOSS licences, basically letting you do anything you want so long as you include the original copyright notice, don't use the originator's name to suggest endorsement, and include a not-our-fault-if-it-asplodes disclaimer.
Basically if you look at the source code and find a way to improve it you can do so, then someone else comes along and can build on top of your improvement without having to do your improvement and vice versa, so in theory open source means the wheel only has be invented once, leading to a faster invention of the car.
Of course it can also go wrong, see the 506 trillion linux distros that exist because everyone wants to cook their own soup because they can't agree at what temperature soup should be served.
Separate names with a comma.