Nvidia will open source PhysX 4.0 on December 20. Current version is also Open Source


(Darksider) #1

Hi everyone. Nvidia decided to open source PhysX 4.0 as BSD3.

https://www.gamefromscratch.com/post/2018/12/03/NVIDIA-Open-Source-PhysX-40.aspx

Could we see it integrated in Blender’s future interaction engine ?


NVidia PhysX goes Open Source
(LazyDodo) #2

I’d take that ‘opensourced’ with a grain of salt, from the github repo

The APEX SDK distribution contains pre-built binaries supporting GPU acceleration. Re-building the APEX SDK removes support for GPU acceleration

nice bait and switch there nvidia.


(BeerBaron) #3

APEX is dead. It’s not in PhysX 4.0.

Despite being an NVIDIA product (as a result of the purchase of Ageia) the GPU physics part always was more of a gimmick. GPUs aren’t that well-suited for many physics algorithms.

The new focus seems to be on simulation for AI. Looking forward to a possible Blender integration!


(kakapo) #4

physx isn’t better than bullet. it’s very overhyped with the help of nvidias marketing money.


(m9105826) #5

Big news!


(Felix Kütt) #6

BSD-V3, nice. About time too, though less surprising if you take into consideration that they have plenty of other tech to use as lock-in. But at least I don’t have to be anti-physx anymore.


(m9105826) #7

That’s simply a nonsense claim. The stability, ease of use, API quality, and feature set of PhysX stomp all over Bullet, not to mention the fact that it has actual development targets that it sticks to.


(kakapo) #8

does it support cylinder collision shapes now? i find that a bit embarrassing. :slight_smile: and no, the solver isn’t more stable than bullet’s solver.

(i have to admit though that i didn’t follow this recent robotics stuff.)


(m9105826) #9

PhysX has had capsule collision since… forever. Cylinder collision is simply a capsule with a 0 radius.


(captainkirk) #10

Which runs faster? Cloth and rigid body simulation in Unreal always seemed much faster to me than in Blender, but I don’t know if that has anything to do with PhysX.


(kakapo) #11

i don’t think so. a capsule with a radius of 0 would be a line segment without any volume.


(BeerBaron) #12

“In theory, yeah, you have a point. In practice, no, this is just not an issue.”


(m9105826) #13

In PhysX capsule parameters, there are separate settings for the width of the capsule and the radius of the end cap.


(kakapo) #14

hm… i didn’t find that in the API documentation. there is only one radius parameter for capsules.

anyways… the more important thing is the solver and it wasn’t better than bullet’s so far. like i said, i didn’t follow how they recently made it more robust for robotics though. if it’s really better now, then that’s great!

(actually newtondynamics.com has the most robust solver but it’s just one guy that works on it in his free time. if he somehow managed to get some funding for working on it full time, it would “stomp” all others.)

“In theory, yeah, you have a point. In practice, no, this is just not an issue.”

yes, but it’s embarrassing if all the competitors managed to do a cylinder. :slight_smile:


(Dodododorian96) #15

imagine that in real time inside of blender with eevee , what a dream


(1pepe) #16

The interesting thing about PhysX is that run on graphic procesor. Think that maybe every Blender user have a free GP on their computer (the motherboard one), it,s not a huge procesor, but enougth to give to Physic calculations a huge boost in realtime aproaches. For example realtime physics could be used as a tool to develop new addons that would be physically driven, mainly on animation, and on texturing (example: dropping or splashing texture brushes)


(BeerBaron) #17

Not if your engine is faster because you chose to make tradeoffs in favor of performance rather than supporting more primitives.


(kakapo) #18

being fast often is not the most important thing for a physics engine. they are fast by cheating and being unrealistic (mass ratios limited to 10:1, stacks of cubes collapsing after leaving them alone for a while,…).

…and then physics becomes so unreliable that it can’t be used for stuff that is important for gameplay but only for eyecandy. :slight_smile:


(m9105826) #19

Almost no one is using PhysX on the GPU these days. It’s NVidia constrained and offers a negligible speed advantage over PhysX on CPU, if any.


(1pepe) #20

About using PhysX on the GPU, Nvidia FAQ says:
“Running physics on the GPU is typically significantly faster than running physics on the CPU, so overall game performance is improved and frame rates can be much faster. However, adding physics can also impact performance in much the same way that anti-aliasing impacts performance.” it means, when used on the same GPU that graphics, so then.
About using on the motherboard GPU, says:
" Can I run NVIDIA PhysX on my motherboard GPU?

NVIDIA PhysX API uses the GPU (Graphics Processing Unit) to process the physics environment calculations in games and applications which support NVIDIA’s Physx. Physics calculations can be very complex and therefore as a system requirement, a GPU must feature 256MB of dedicated local video memory, support NVIDIA’s CUDA technology and also have 32 cores or higher."
Lack of usage of GPU calculations on games comes from the game developer side, but on a 3D program it would be not a problem.