• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

NVIDIA Frees PhysX Source Code

btarunr

Editor & Senior Moderator
Staff member
Joined
Oct 9, 2007
Messages
47,670 (7.43/day)
Location
Dublin, Ireland
System Name RBMK-1000
Processor AMD Ryzen 7 5700G
Motherboard Gigabyte B550 AORUS Elite V2
Cooling DeepCool Gammax L240 V2
Memory 2x 16GB DDR4-3200
Video Card(s) Galax RTX 4070 Ti EX
Storage Samsung 990 1TB
Display(s) BenQ 1440p 60 Hz 27-inch
Case Corsair Carbide 100R
Audio Device(s) ASUS SupremeFX S1220A
Power Supply Cooler Master MWE Gold 650W
Mouse ASUS ROG Strix Impact
Keyboard Gamdias Hermes E2
Software Windows 11 Pro
After Epic's Unreal Engine 4 and Unity 5 game engines went "free,"with their source-codes put up by their makes for anyone to inspect freely, NVIDIA decided to join the bandwagon of showering game developers with technical empowerment, by putting up the entire source-code of PhysX 3.3.3, including its cloth and destruction physics code, on GitHub. The move to put up free-code of PhysX appears to be linked to the liberation of Unreal Engine 4 code.

NVIDIA PhysX is the principal physics component of Unreal-driven game titles for several years now. There's a catch, though. NVIDIA is only freeing CPU-based implementation of PhysX, and not its GPU-accelerated one, which leverages NVIDIA's proprietary CUDA GPU compute technology. There should still be plenty for game devs and students in the field, to chew on. In another interesting development, the PhysX SDK has been expanded from its traditionally Windows roots to cover more platforms, namely OS X, Linux, and Android. Find instructions on how to get your hands on the code, at the source link.

View at TechPowerUp Main Site
 
Many Thanks to RaCoon for the tip.
 
Who would have thought. I wonder if AMD can make a phsyx build that you can use with all older games.
 
Who would have thought. I wonder if AMD can make a phsyx build that you can use with all older games.
It is the CPU code, you could always use that with AMD cards.
 
It is the CPU code, you could always use that with AMD cards.
So it says in the OP I didn't read entirely ... it is little less newsworthy if read entirely
 
The operative term is "free source," not "open source." You can inspect the code, and learn how to code your project better, but not steal/modify the code. That's what's different between PhysX and Firefox now.
 
I would be nice if it get's some proper optimization. On the CPU it always ran on a single thread without SSE or such, just to make it slower than Nvidia videocards. Let's be honest they only brought Ageia Physics for marketing purposes...

I hope everthing will get more mature and unified with DirectX12, no more GameWorks bullshit and such.
 
The operative term is "free source," not "open source." You can inspect the code, and learn how to code your project better, but not steal/modify the code. That's what's different between PhysX and Firefox now.

Not steal, yes. But you can modify and upload your changes to github, nvidia may or may not accept it upstream, but you can use your modifications in your project and offer it for others.
 
I would be nice if it get's some proper optimization. On the CPU it always ran on a single thread without SSE or such, just to make it slower than Nvidia videocards. Let's be honest they only brought Ageia Physics for marketing purposes...

I hope everthing will get more mature and unified with DirectX12, no more GameWorks bullshit and such.
marketing purposes??
Have you seen flex ?
GTFO :)
 
I doubt nvidia will allow this to be used correctly. We already know that it can all be done on CPU and nvidia intentionally cripples the CPU only path.
 
I would be nice if it get's some proper optimization. On the CPU it always ran on a single thread without SSE or such, just to make it slower than Nvidia videocards. Let's be honest they only brought Ageia Physics for marketing purposes...

I hope everthing will get more mature and unified with DirectX12, no more GameWorks bullshit and such.

Afaik hardly so. And I think sse2 has been default since version 3, heck most of games that are using physx uses only cpu code path(all console games and some of the pc games too).
 
While full open sourcing of the PhysX code for CPU and GPU is really what we want, this move might finally be just enough to make it the de facto standard eventually.

How so? By developers studying the code, an open source API similar in concept to OpenGL could be written for both CPU and GPU (CUDA or otherwise) that would be useable by everyone. It would then be trivial to bundle it with games that use it.

The PhysX demos I've seen have been fantastic and really show what it can do, so this can't come soon enough.
 
On the CPU it always ran on a single thread without SSE or such, just to make it slower than Nvidia videocards.

We already know that it can all be done on CPU and nvidia intentionally cripples the CPU only path.

How about you research a bit before posting. Read the links jabbadap posted.

"We" don't know. You read some unsubstantiated gibberish somewhere and decided it was the absolute truth. Nvidia is trying to compete with havok, which is CPU based. Do you REALLY think they'd cripple physX on CPUs, when the majority of physX games are CPU based, and there is no GPU-acceleration on consoles?

Well, you don't need to, since it's simply not true.

P.S. Since this is the internet, I'd have to point out that I'm neutral, but I hate it when misinformation keeps being repeated.
 
What is Nvidia's reason for not making it open source? I feel like they are on their way to making it open source at this point.
 
LOL, obviously doesn't keep up with developments. MT has been available since 3.0 in 2011.
KbbvSTc.png


For those interested, the original NovodeX/PhysX coder, Pierre Terdiman, has a site where some more interesting background can be found ( use of AVX for the CPU functionality of PhysX etc)
 
Last edited:
with a source release its now possible to port PhysX to OpenCL meaning gpu acceleration on amd
 
How about you research a bit before posting. Read the links jabbadap posted.

"We" don't know. You read some unsubstantiated gibberish somewhere and decided it was the absolute truth. Nvidia is trying to compete with havok, which is CPU based. Do you REALLY think they'd cripple physX on CPUs, when the majority of physX games are CPU based, and there is no GPU-acceleration on consoles?

Well, you don't need to, since it's simply not true.

P.S. Since this is the internet, I'd have to point out that I'm neutral, but I hate it when misinformation keeps being repeated.

http://semiaccurate.com/2010/07/07/nvidia-purposefully-hobbles-physx-cpu/

*drops mic* :laugh:

Your theory is blown to shit.
 
I think it's a good move. I've always liked PhysX, I've liked nVidia as well, so I am biased. In my particular case I only see PhysX in Warframe, which I used play of lately and Blacklight Retribution and may be Trine. I'd be happy to see wider adoption of it.
 
I think it's a good move. I've always liked PhysX, I've liked nVidia as well, so I am biased. In my particular case I only see PhysX in Warframe, which I used play of lately and Blacklight Retribution and may be Trine. I'd be happy to see wider adoption of it.

This is just about making people able to read the code, not suddenly use it etc.
See it has the hood of a car being locked shut for all these years and now being openable for those who want to take a peak at the engine.
They are not allowed to take the engine out or anything, just watch, dont touch.
 
The operative term is "free source," not "open source." You can inspect the code, and learn how to code your project better, but not steal/modify the code. That's what's different between PhysX and Firefox now.

But now Physx is x100 more open than Mantle.

This is just about making people able to read the code, not suddenly use it etc.
See it has the hood of a car being locked shut for all these years and now being openable for those who want to take a peak at the engine.
They are not allowed to take the engine out or anything, just watch, dont touch.

“This means that the entire UE4 community can now view and modify this PhysX code alongside the complete C++ source code for UE4. Modifications can be shared with NVIDIA who will review and incorporate accepted submissions into their main PhysX branch, which then flows into future versions of UE4.”


“Today we’re excited to announce an expansion of that partnership with NVIDIA providing all UE4 developers with not just binary but C++ source access to the CPU-based implementation of PhysX 3.3.3, including the clothing and destruction libraries, through Epic’s Unreal Engine repository on GitHub.”
 
What is Nvidia's reason for not making it open source? I feel like they are on their way to making it open source at this point.

I think they are just dangling a carrot to get devs to sign up for the Gameworks program. Seeing as how you have to do that to get the code.
 
Who cares? It's not like there aren't countless CPU physics engines... If they released GPU part I'd be impressed, but this way, meeeh...
 
But now Physx is x100 more open than Mantle.

Well, the new OpenGL Next from Kronos is a standardised version of Mantle, and is an open spec.
 
Back
Top