Jump to content

Physics Library


Josh
 Share

  

89 members have voted

  1. 1. Which is best?

    • Bullet
      38
    • Havok
      7
    • Newton
      7
    • PhysX
      35
    • Other
      2


Recommended Posts

Speaking of, I just updated Newton from the repository and it looks like version 300 has soft bodies, or at least an early implementation. I'm pretty satisfied then. There are some weird things about physics in LE2, but I think careful planning can avoid those issues we experienced before.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

I am using Newton because:

-PhysX guarantees all the cool open-world stuff I want to do down the road is impossible. There's just no way we can do it. I talked to the guy in charge of PhysX at NVidia. It can only handle 40-50,000 bodies, not millions like we are used to.

-I have been able to get scaling working with Newton, it just took a lot of careful design that's hidden from the end user.

-I have the source to Newton, and the only area I find it lacking in is soft bodies. It's possible I can some day add my own soft body implementation in Newton. It's impossible for me to ever add 64-bit float support or vegetation into PhysX, because it's closed source.

 

PhysX development revolves around consoles, so the memory constraints of those guarantee large worlds are not a priority. This is pretty much what NVidia told me, in different words.

 

ok...

 

1) Now that you have scaling working, can we expect to get the scaling ability in LE2 as this has been a sore subject and issue for as long as I can remember?

2) While soft bodies would be nice, its the joints that concern me. You have already stated that the joint stiffness problem is beyond your capabilities. And the joint commands are currently a pain to deal with as the parameters are not clearly defined nor or are there good examples to learn from... an idea that might be beneficial to all is the ability to actually see the joints/pins with a command like DebugJoints()... then at least we could visually see how the parameters affect location and rotation of joints...

 

and more of just a comment than anything... but isn't it a little crazy to still use newton just for the people that come here for the delusion that they are going to make a huge open terrain MMO or flight sim by themselves? :unsure:

Win7 64bit / Intel i7-2600 CPU @ 3.9 GHz / 16 GB DDR3 / NVIDIA GeForce GTX 590

LE / 3DWS / BMX / Hexagon

macklebee's channel

Link to comment
Share on other sites

ok...

 

1) Now that you have scaling working, can we expect to get the scaling ability in LE2 as this has been a sore subject and issue for as long as I can remember?

No, it's a significant reworking of the way collision shapes are handled. If introduced into LE2 it would definitely create new bugs, so I'd rather just focus on the new engine. It's also using a newer version of Newton, so it would probably require a reworking of all .phy files, and that went very badly last time I did it.

 

2) While soft bodies would be nice, its the joints that concern me. You have already stated that the joint stiffness problem is beyond your capabilities. And the joint commands are currently a pain to deal with as the parameters are not clearly defined nor or are there good examples to learn from... an idea that might be beneficial to all is the ability to actually see the joints/pins with a command like DebugJoints()... then at least we could visually see how the parameters affect location and rotation of joints...

The joint strength issue is sort of a non-issue, in my opinion, because the person who posted it was using joints between bodies with big big differences in mass. That's going to cause problems no matter what. I have found the existing joints to be very stable, and if anyone can show me otherwise I will look at it. If joint stability is a concern, then I don't see PhysX offering any advantage there...from what I have seen it would probably be much less stable. As far as visualizing joints, that's not something I need the physics lib to support, I just add it myself. PhysX might have some built-in helper function for that, but honestly we're talking like one hour's work to set it up for all joints.

 

and more of just a comment than anything... but isn't it a little crazy to still use newton just for the people that come here for the delusion that they are going to make a huge open terrain MMO or flight sim by themselves? :lol:

The people who are most likely to make use of it are the flight sim people. I have gotten a ton of serious requests from flight sim companies...for some reason they are attracted to LE, but they want even bigger worlds. That's something we can do uniquely well in the future, and no one else is going to pursue it because they are designing engines to run with 256 mb shared memory.

 

Also, if we can offer big worlds, it does mean a lot of sales. It's not my business to tell people what they can and can't do. I like the idea of driving on a limitless road and stopping to kill mutants.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

No, it's a significant reworking of the way collision shapes are handled. If introduced into LE2 it would definitely create new bugs, so I'd rather just focus on the new engine. It's also using a newer version of Newton, so it would probably require a reworking of all .phy files, and that went very badly last time I did it.

ok fair enough.

 

The joint strength issue is sort of a non-issue, in my opinion, because the person who posted it was using joints between bodies with big big differences in mass. That's going to cause problems no matter what. I have found the existing joints to be very stable, and if anyone can show me otherwise I will look at it. If joint stability is a concern, then I don't see PhysX offering any advantage there...from what I have seen it would probably be much less stable. As far as visualizing joints, that's not something I need the physics lib to support, I just add it myself. PhysX might have some built-in helper function for that, but honestly we're talking like one hour's work to set it up for all joints.

well there were others that had posted questions and concerns about joint stiffness as well... and considering one of the people posting it as a big concern to them is creating one of the flagship games for LE, i would have thought it you would consider it an issue...but that's fine.

The visualization of joints and pins is something that I would suggest no matter what physics library is used as it would help everyone and I wasn't suggesting it be handled by the library. ;) So... only one hour to set up? Cool! I cannot wait to try it out tonight! :):lol::)

Win7 64bit / Intel i7-2600 CPU @ 3.9 GHz / 16 GB DDR3 / NVIDIA GeForce GTX 590

LE / 3DWS / BMX / Hexagon

macklebee's channel

Link to comment
Share on other sites

It's also using a newer version of Newton, so it would probably require a reworking of all .phy files, and that went very badly last time I did it.

 

I'm surprised you haven't done what I've done - ditch the serialised file altogether... Because I'm using a standalone Newton V2.25 (before it went open source) the first thing I had to do be able to load physics shapes for models. I instead opted to build my shapes by processing .obj files. This solution survived an upgrade between 2.07 and 2.25 and I believe serialisation changed between those versions. The only downside is that it's slower, but I've yet to find a mesh it takes a long time for

 

 

I'd give you the code I did it with, but it relies on 2 parts of a library I wrote that certainly isn't cross platform (requires windows.h), whilst one part could be removed the other dependency wouldn't be so easy to take out (at least, I don't think it would)

LE Version: 2.50 (Eventually)

Link to comment
Share on other sites

I'm surprised you haven't done what I've done - ditch the serialised file altogether... Because I'm using a standalone Newton V2.25 (before it went open source) the first thing I had to do be able to load physics shapes for models. I instead opted to build my shapes by processing .obj files. This solution survived an upgrade between 2.07 and 2.25 and I believe serialisation changed between those versions. The only downside is that it's slower, but I've yet to find a mesh it takes a long time for

 

 

I'd give you the code I did it with, but it relies on 2 parts of a library I wrote that certainly isn't cross platform (requires windows.h), whilst one part could be removed the other dependency wouldn't be so easy to take out (at least, I don't think it would)

I would, but that involves another file format change. If I knew that was going to happen, I would not have relied on it in the first place.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

it depens on the size and mass of the cubes. Here we have no relative object like a truck or car to compare the size of the cube with, and we have no idea of the cubes mass.

 

if you take small objects with low mass like dices and try to stack them up like this in real life, it's more than likely they will collapse just like bullet.

 

That said i cannot answer the poll and choose between bullet and physx. So I did not vote yet. Maybe you can convice me to choose newton.

 

#A All I know is that you'll probably get better support with them than with newton, since newton is a "one man project". And we all know 1 man will have no time to answer all those annoying trivial questions that are so far away from his own complex tasks.

 

#B More important bullet and physx are already used in commercial games .... there's only 1 commercial game (penumbra)) i know using newton. All those commercial producs have contributed to make bullet and physx better and progress faster than newton and this will likely continue. Event if newton will get the same features someday ... bullet and physx features will be more stress tested in real games and thus better debugged. With newton YOU will always be the beta tester even with final supposed stable version. And if you find a problem, go back to #A.

 

Your argument about having large forests is better. But when a tree is in billboard state is physic still active ?

Windows 7 home - 32 bits

Intel Quad Q6600 - nVidia GTX 460 1GB - 2 GB RAM

Link to comment
Share on other sites

Your argument about having large forests is better. But when a tree is in billboard state is physic still active ?

Yep. Visual and physical geometry have nothing to do with one another.

 

AFAIK Bullet is one guy.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Yep. Visual and physical geometry have nothing to do with one another.

 

AFAIK Bullet is one guy.

bullet is open source and the author of bullet is now working for AMD. So i guess he can now get all the help he wants from amd/ati ingeneers.

It's Nvidia/physX vs AMD/ATI/bullet

 

http://www.linkedin.com/in/erwincoumans

 

an example http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=17680588&linkID=14963466

Windows 7 home - 32 bits

Intel Quad Q6600 - nVidia GTX 460 1GB - 2 GB RAM

Link to comment
Share on other sites

  • 8 months later...

Bullet has lots of options, so you can't compare it to newton with the default options. You should rather make 100 different tests with all option combinations.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Hi Guys!

 

It has soft bodies, destruction, and scaling now, so I am pretty happy.

 

So could you make an update for Leadwerks 2.5 to support scaling (in Sandbox) again ?

Because i think scaling with a external program is not a solution - its a workaround.

(And besides the major competitors have scaling (unity, unreal, cryengine etc.))

Link to comment
Share on other sites

Hi Guys!

 

 

 

So could you make an update for Leadwerks 2.5 to support scaling (in Sandbox) again ?

Because i think scaling with a external program is not a solution - its a workaround.

(And besides the major competitors have scaling (unity, unreal, cryengine etc.))

The physics system has been totally rewritten in the new engine. It would not be simple to port this backwards.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

LE3 is only under bugfixing now, should be soon out :) I am also bugfixing things now, so things will work well together with LE3 when it comes out.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...