Sunday, December 3rd 2017

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

#3
EarthDog
It's about darn time!

But, I didn't know TPU was doing this... I think it is missing quotes somewhere. :)
Posted on Reply
#4
windwhirl
It's nice, I guess...??

EarthDog said:
It's about darn time!

But, I didn't know TPU was doing this... I think it is missing quotes somewhere. :)
It's flagged as Press Release...
Posted on Reply
#5
newtekie1
Semi-Retired Folder
PerfectWave said:
Most popular? LoL
What else would you call the most uses physics engine?
Posted on Reply
#6
btarunr
Editor & Senior Moderator
newtekie1 said:
What else would you call the most uses physics engine?
Havok? Practically every AAA game uses it because Intel allowed even console platforms to use it. It's easier to encapsulate.
Posted on Reply
#7
EarthDog
windwhirl said:
It's flagged as Press Release...
Indeed. But I didn't see this line in any of the links.
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.
Not a big deal of course, but clearly someone else said that, not TPU. Without the quotes, it gave me the initial impression TPU was doing it, LOL. For example...
NVIDIA says, "
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."
I get that its obvious though... but it should still be quoted.
Posted on Reply
#8
ZoneDymo
2 little 2 late, bunch of asshats over at Nvidia.
"Oh we have RTX now as our major exclusive selling point, NOW we can losen our grip on our bought up and locked down PhysX"

Seriously screw those guys.

Also big fat lol at this claim:
"NVIDIA PhysX, the most popular physics simulation engine on the planet,"
Posted on Reply
#9
Disparia
Fun fun...
[CODE=cpp]void fm_eulerToQuatDX(REAL x,REAL y,REAL z,REAL *quat) // convert euler angles to quaternion using the fucked up DirectX method
{
REAL matrix[16];
fm_eulerToMatrix(x,y,z,matrix);
fm_matrixToQuat(matrix,quat);
}
[/CODE]
Posted on Reply
#10
SoNic67
Finally! Sadly now, when almost everyone dropped it because licensing and nvidia exclusivity, might be too late. I don't see AMD picking it up.
Posted on Reply
#11
hat
Enthusiast
I'm not so sure I see game developers picking this up now...
Posted on Reply
#12
jabbadap
btarunr said:
Havok? Practically every AAA game uses it because Intel allowed even console platforms to use it. It's easier to encapsulate.
Havok were sold to microsoft and cpu physX is used in the same way on every console platforms as _cpu_ only havok. So practically every non-havok AAA game uses cpu physX. Is there still GPU accelerated Havok after Microsoft era or is it still cpu only, that I don't know and I'm too lazy to ckeck it out... But there's that, Nvidia actually open sourced _GPU_ physX, did the hell just freeze over?
Posted on Reply
#14
FordGT90Concept
"I go fast!1!11!1!"
I think Unity and Unreal Engine 4 both embed PhysX. So yeah, it is the most popular physics engine even if it is never used simply because of the popularity of those engines.


We'll see if AMD can accelerate PhysX now. I'm not certain the BSD license even lets them.
Posted on Reply
#15
jabbadap
FordGT90Concept said:
I think Unity and Unreal Engine 4 both embed PhysX. So yeah, it is the most popular physics engine even if it is never used simply because of the popularity of those engines.


We'll see if AMD can accelerated PhysX now. I'm not certain the BSD license even lets them.
Well cpu physX which have been free since 2014. Maybe they will add gpu physX on the engines too now that it is open source.

If I understand this correctly even cpu physX is now Open Source. And the bsd license is very permissive.
NVIDIA PhysX SDK 3.4
Copyright (c) 2018 NVIDIA Corporation. 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 NVIDIA CORPORATION 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 ``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 THE COPYRIGHT OWNER OR CONTRIBUTORS 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.
Posted on Reply
#16
pseudografx
"We're doing this because physics simulation turns out to be more important than we ever thought."
Translation:
"We're doing this because it does not generate any revenues for us any more."
Posted on Reply
#17
Assimilator
Regardless of all the naysayers in this thread, this is only a good thing.
Posted on Reply
#18
R0H1T
Only if it picks up, otherwise it's basically putting a stuffed dodo in an exhibit or Museum.
Posted on Reply
#19
INSTG8R
Dead horse needs more beating. Have a stick for free!
Posted on Reply
#20
jabbadap
Assimilator said:
Regardless of all the naysayers in this thread, this is only a good thing.
Agreed. Nvidia's stance on gpu physX has been full of moronic decisions, which have made it wider adoption very much impossible. Now made it run through Vulkan/OpenCL and we have a real free CPU/GPU accelerated cross-vendor/OS agnostic physics middleware on our hands. Do remember Havok belongs to Microsofts and Microsoft is known for targeting only on their own platforms.
Posted on Reply
#21
newtekie1
Semi-Retired Folder
btarunr said:
Havok? Practically every AAA game uses it because Intel allowed even console platforms to use it. It's easier to encapsulate.
Still not used nearly as much as PhysX. Remember, PhysX is built into the Unity engine, which like every crappy mobile game ever uses...
Posted on Reply
#22
rtwjunkie
PC Gaming Enthusiast
Still, 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.

Don’t get me wrong. I actually like PhysX. It is present in a lot more games than people think. I just don’t think actual usage is as high as Havok.
Posted on Reply
#24
FordGT90Concept
"I go fast!1!11!1!"
rtwjunkie said:
Still, 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.

Don’t get me wrong. I actually like PhysX. It is present in a lot more games than people think. I just don’t think actual usage is as high as Havok.
Every UE4 game where you see ragdolling is PhsyX doing that. PhysX is used for all geometry collisions in the engine. Havok is not used in any widely distributed engines. It's added on by developers if they want something more than basic collision support.

EarthDog said:
https://en.wikipedia.org/wiki/List_of_games_using_Havok

https://en.wikipedia.org/wiki/List_of_games_with_hardware-accelerated_PhysX_support

It is Wiki....
Keyword is "hardware-accelerated." CPU is not considered accelerated. UE4 and Unity are CPU only unless the developer goes out of their way to add features that require GPU acceleration.

GPU accelerated PhysX did not catch on because it was only supported on NVIDIA hardware. Run the same code with an AMD card or Intel GPU and you get single digit frame rates (unplayable). Developers quickly stopped doing that because features based on it would be limited to a relatively small market of hardware. NVIDIA used GPU acceleration to sell more cards. That argument doesn't work anymore (and hasn't for quite some time).


Edit: There's over 2000 indie UE4 games: https://www.indiedb.com/engines/unreal-engine-4/games
Posted on Reply
Add your own comment