Monday, December 3rd 2018

NVIDIA PhysX Now Open-Source

NVIDIA PhysX, the most popular physics simulation engine on the planet, is going open source. We're doing this because physics simulation - long key to immersive games and entertainment - turns out to be more important than we ever thought. Physics simulation dovetails with AI, robotics and computer vision, self-driving vehicles, and high-performance computing.

It's foundational for so many different things we've decided to provide it to the world in an open source fashion. Meanwhile, we're building on more than a decade of continuous investment in this area to simulate the world with ever greater fidelity, with on-going research and development to meet the needs of those working in robotics and with autonomous vehicles.
Full Source on GitHub.

Free, Open-Source, GPU-Accelerated
PhysX will now be the only free, open-source physics solution that takes advantage of GPU acceleration and can handle large virtual environments. It will be available as open source starting Monday, Dec. 3, under the simple BSD-3 license. PhysX solves some serious challenges.
  • In AI, researchers need synthetic data - artificial representations of the real world - to train data-hungry neural networks.
  • In robotics, researchers need to train robotic minds in environments that work like the real one.
  • For self-driving cars, PhysX allows vehicles to drive for millions of miles in simulators that duplicate real-world conditions.
  • In game development, canned animation doesn't look organic and is time consuming to produce at a polished level.
  • In high-performance computing, physics simulations are being done on ever more powerful machines with ever greater levels of fidelity.
The list goes on.

PhysX SDK addresses these challenges with scalable, stable and accurate simulations. It's widely compatible, and it's now open source. PhysX SDK is a scalable multi-platform game physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs. It's already integrated into some of the most popular game engines, including Unreal Engine (versions 3 and 4) and Unity3D.

You can also find the full source code on GitHub. Dig in.
Add your own comment

53 Comments on NVIDIA PhysX Now Open-Source

#27
newtekie1
Semi-Retired Folder
rtwjunkieStill, if we ignore what engines have PhysX in them and only look at what games have implemented, I can’t help but feel Havok comes out on top as most “actually used” physics implementation.
Every Unity game does actually use PhysX.
EarthDogPlease elaborate...
Because not all games that use PhysX use the hardware accelerated version of PhysX. The software version of PhysX is used far more often, and pretty equivalent in capabilities to the software based Havok.
Posted on Reply
#28
EarthDog
Gotcha. Perhaps the list from NVIDIA is more accurate then. ;)
Posted on Reply
#30
FordGT90Concept
"I go fast!1!11!1!"
newtekie1Because not all games that use PhysX use the hardware accelerated version of PhysX. The software version of PhysX is used far more often, and pretty equivalent in capabilities to the software based Havok.
PhsyX is always software. I think it uses CUDA on NVIDIA GPUs. Maybe VUDA could be a path to make it work well on AMD and Intel chips. If PhysX doesn't get hardware support across the board, GPU accelerated PhsyX is dead for good.
Posted on Reply
#31
stimpy88
At least now we know why the RTX cards are so expensive, us customers were paying the costs of outing this nasty little black box! Or is this nGreedias way of subverting the growing backlash against them, by giving away a little toy... Much cheaper than dropping the prices of their new cards, I suppose.

I hope someone makes a wrapper that intercepts PhysX calls to the GPU, and sends them to the CPU instead. Hell, it would probably run much better on modern high core count CPUs anyway, as well as freeing up precious GPU resources.
Posted on Reply
#32
R-T-B
btarunrHavok? Practically every AAA game uses it because Intel allowed even console platforms to use it. It's easier to encapsulate.
I'm curious what the actual usage numbers are though. I see a lot of titles utilizing PhysX as well. To say it was dead is simply not true.

This should be embraced at any rate, as now AMD cards can do PhysX if they chose to implement it. You no longer have only NVIDIA to blame for the propietary nature of it as they just did away with that. You'd think that'd be a good thing.
yakkDeprecated at this point
Hardly. Even if you have an AMD GPU chances are some games were running this on CPU. No matter how many times you utter it, it simple wasn't dead.

physxinfo.com/index.php?p=gam&f=rel
stimpy88us customers were paying the costs of outing this nasty little black box!
If they believed open sourcing this was going to cost them money, they wouldn't have done it, period. There is no obligation to do anything like that unless it is profitable. By opensourcing it they are probably ensuring wider adoption and they believe the good PR will generate more profits than PhysX was making.
Posted on Reply
#33
stimpy88
R-T-BBy opensourcing it they are probably ensuring wider adoption and they believe the good PR will generate more profits than PhysX was making.
Strange that back in 2008 AMD publicly stated that they would be open to work with nGreedia on getting PhysX to work on AMD cards, but only if it was done in such a way as to not deliberately cause performance issues with AMD hardware... nGreedia declined by not answering...

We all know that compute has always been AMD's strong point, and I guess nGreedia may have ended up looking bad if they had have given AMD the keys to the little black box.
Posted on Reply
#34
Fluffmeister
AMD are such victims, what a cruel world.

Now they can support PhysX thanks to their overwhelming love of open source it is only a matter of time before they add support to their drivers.

Let's all count the days before they add support.
Posted on Reply
#35
stimpy88
FluffmeisterAMD are such victims, what a cruel world.

Now they can support PhysX thanks to their overwhelming love of open source it is only a matter of time before they add support to their drivers.

Let's all count the days before they add support.
I wouldn't if I was them, that cappy software was hacked to run on a GPU in the first place, and has been basically abandoned ever since. But you live up to your name, don't you? Your pro nGreedia (does it hurt you when I type that?) comments are full of... Fluff...

For the record, I'm pro Wallet myself. I couldn't care less about AMD or nGreedia, unless they are raping my wallet or causing harm to my hobby, and one of those two companies is.
Posted on Reply
#36
Fluffmeister
stimpy88I wouldn't if I was them, that cappy software was hacked to run on a GPU in the first place, and has been basically abandoned ever since. But you live up to your name, don't you? Your pro nGreedia (does it hurt you when I type that?) comments are full of... Fluff...

For the record, I'm pro Wallet myself. I couldn't care less about AMD or nGreedia, unless they are raping my wallet or causing harm to my hobby, and one of those two companies is.
I'm just interested to know how a company "rapes a wallet". Besides, for someone that doesn't care you spend a awful amount of time crying about it.
Posted on Reply
#37
stimpy88
FluffmeisterI'm just interested to know how a company "rapes a wallet". Besides, for someone that doesn't care you spend a awful amount of time crying about it.
Sorry, I forgot that you can't see past your nose, you really should get that looked at.

I'll go dry my tears with tissues from the real world, it looks quite different to when you could last see clearly.
Posted on Reply
#38
95Viper
Hello, everyone!
Stay on topic.
Stop the bickering, name calling and insults. (You know who you are.)

Thank You, Have a Nice Day!
Posted on Reply
#39
rtwjunkie
PC Gaming Enthusiast
stimpy88nGreedias
You’re not edgy or cool using “Ngreedia”. Try just Having a responsible, mature conversation instead of repeatedly using “nGreedia”.
stimpy88I hope someone makes a wrapper that intercepts PhysX calls to the GPU, and sends them to the CPU instead.
In the Nvidia control panel we have always been able to designate PhysX working on either the CPU or the GPU. Also, as others have pointed out, many games only call for the software use of PhysX, implemented through the CPU.
Posted on Reply
#40
R-T-B
stimpy88I guess nGreedia may have ended up looking bad if they had have given AMD the keys to the little black box.
Well, you have the keys now. Have at it.
stimpy88has been basically abandoned ever since.
No, it hasn't.
stimpy88We all know that compute has always been AMD's strong point
As recently as Fermi it was actually nvidia with this edge, which is ironic considering that's around the time AMD made said offer.
Posted on Reply
#41
jabbadap
EarthDogPlease elaborate...
Gpu vs cpu. If you wan't to compare apples to apples it's gpu-physX to Havok FX, oh wait that was canned right after intel bought Havok(What a surprise).

So for gpu physics:
physX: en.wikipedia.org/wiki/List_of_games_with_hardware-accelerated_PhysX_support
Havok FX: 0(one nvidia demo on year 2005 or so and one amd demo somewhere 2009)
Bullet: Er something, can't remember what but more than Havok FX...

For cpu physics:
Havok: en.wikipedia.org/wiki/List_of_games_using_Havok
PhysX: physxinfo.com/index.php?p=gam&f=cpu
Posted on Reply
#43
ZeDestructor
FordGT90ConceptWe'll see if AMD can accelerate PhysX now. I'm not certain the BSD license even lets them.
You, err, might want to read said BSD license, mate.

Here, I'll give you a hand and reproduce it in full, unedited form:
Copyright (c) <year>, <copyright holder>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the <organization> nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The core of the BSD license is to allow any and all modifications to be done with the IP, as long as you distribute your modified IP with said license in it, with the right copyright attributions.
Posted on Reply
#44
FordGT90Concept
"I go fast!1!11!1!"
Might be possible then. The question then becomes whether or not AMD thinks it is worth the resources to invest in making it work as it should.
Posted on Reply
#45
R-T-B
ZeDestructorYou, err, might want to read said BSD license, mate.

Here, I'll give you a hand and reproduce it in full, unedited form:



The core of the BSD license is to allow any and all modifications to be done with the IP, as long as you distribute your modified IP with said license in it, with the right copyright attributions.
Exactly. So possible. Less restrictive than GPL even as it allows commercial use.
FordGT90ConceptMight be possible then. The question then becomes whether or not AMD thinks it is worth the resources to invest in making it work as it should.
The irony is I bet they'll argur it's worthless. So much salt.
Posted on Reply
#46
medi01
newtekie1What else would you call the most uses physics engine?
A parallel universe.
Posted on Reply
#47
newtekie1
Semi-Retired Folder
FordGT90ConceptMight be possible then. The question then becomes whether or not AMD thinks it is worth the resources to invest in making it work as it should.
It doesn't even have to be AMD at this point. Anyone that know how to do it should be able to start porting PhysX over to use the directcompute API making it work universally on any GPU.
Posted on Reply
#48
rtwjunkie
PC Gaming Enthusiast
So it makes me wonder if Nvidia will still bundle PhysX in with the driver installs?
Posted on Reply
#49
SIGSEGV
FordGT90ConceptMight be possible then. The question then becomes whether or not AMD thinks it is worth the resources to invest in making it work as it should.
999% totally not worth. just let it dies naturally...
Posted on Reply
#50
FordGT90Concept
"I go fast!1!11!1!"
newtekie1It doesn't even have to be AMD at this point. Anyone that know how to do it should be able to start porting PhysX over to use the directcompute API making it work universally on any GPU.
DirectCompute is a Microsoft technology. The VUDA approach makes the most sense (Vulkan -> VUDA -> CUDA -> PhysX). Alternatively, it would have to be converted to OpenCL which would translate to less emulation and theoretically better performance. OpenCL has it's own problem though: namely, AMD and Intel support 2.0 where NVIDIA refuses to support beyond 1.1 because it's a direct competitor to CUDA.

Then there's this little problem:
rtwjunkieSo it makes me wonder if Nvidia will still bundle PhysX in with the driver installs?
Yes, probably, because it will prohibit third-party versions of PhsyX running on systems with NVIDIA GPUs. A universal solution, ergo, won't work well on NVIDIA GPUs unless they change their practice. A third party won't be able to sign installers to replace PhysX unless you forcibly remove PhsyX from the system and mimic it with new PhysX libraries. It's honestly a trainwreck--backwards compatibility is a problem unless NVIDIA jumps on the open-source bandwagon or uninvolves itself letting the open-source version take over.
Posted on Reply
Add your own comment
Dec 22nd, 2024 10:21 EST change timezone

New Forum Posts

Popular Reviews

Controversial News Posts