reactphysics3d icon indicating copy to clipboard operation
reactphysics3d copied to clipboard

Comparison with other libraries?

Open costashatz opened this issue 7 years ago • 9 comments

Hello,

Great project! Thanks for sharing!

I want to ask you whether you have made some comparisons with other libraries. For example:

  • Physics quality and speed compared to Bullet or ODE
  • Collision detection quality and speed compared to other collision libraries (e.g., FCL, ccd, Bullet, ODE)

Thanks, Konstantinos

costashatz avatar Jan 25 '18 13:01 costashatz

Hello,

I have not really made comparisons with other physics engines yet. I have already started to add ReactPhysics3D into the PEEL Framework of Pierre Terdiman that is very useful for comparing the running time and behavior of physics libraries.

I have not finished this yet but I plan to release the dll in the future. This way, everyone will be able to compare ReactPhysics3D with other physics engine.

DanielChappuis avatar Jan 26 '18 16:01 DanielChappuis

I have not really made comparisons with other physics engines yet. I have already started to add ReactPhysics3D into the PEEL Framework of Pierre Terdiman that is very useful for comparing the running time and behavior of physics libraries.

I have not finished this yet but I plan to release the dll in the future. This way, everyone will be able to compare ReactPhysics3D with other physics engine.

Great! I am looking forward to it! Another a bit related question (sorry for bothering too much), have you ever used the library to create rigid body chains connected with joints (like robots)? How stable is the simulation? Moreover, can someone control the force applied to the joints or just the velocity?

Many thanks and good job for the very nice library!

costashatz avatar Jan 26 '18 17:01 costashatz

I never tried exactly the scenario you describe but it should be possible. At the moment, you can set angle/distance limits to the joints but not the force. Maybe I can add this in the future.

DanielChappuis avatar Jan 27 '18 07:01 DanielChappuis

I recently discovered your library, and I wonder what differences are there compared to Bullet, or what were the motivations. Both libraries are C++ with an OOP API, except ReactPhysics3D is smaller.

Zylann avatar Feb 03 '21 01:02 Zylann

I don't have any specific motivations except that I really enjoy working on this physics library. I have not started this project because I thought that Bullet or any other libraries did not fit my needs. I just wanted to create a physics library.

The current version (v0.8.0) of the library is not particularly fast compared to other libraries. That's why I have worked a lot on optimizations in the last months (as you can see in the develop branch). Therefore, the next release (v0.9.0) should be much faster. I have implemented a plugin for ReactPhysics3D inside the PEEL framework from Pierre Terdiman in order to compare it with other physics engines. On my computer, ReactPhysics3D v0.9.0 is relatively close to Bullet v2.85 for instance in terms of performance in most scenes. In some scenes, ReactPhysics3D is still a bit slower. Note that the newer versions of Bullet are not implemented in PEEL.

Concerning the features, ReactPhysics3D is younger than the main physics libraries and therefore some features are still missing. For instance, the following features are planned but not yet implemented in ReactPhysics3D (v0.9.0):

  • Vehicles
  • Continuous collision detection
  • Multi-threading

DanielChappuis avatar Feb 03 '21 20:02 DanielChappuis

You are doing a GREAT job Mister Chappuis with this physics engine 🥇 🥇 🥇

mokalux avatar Feb 03 '21 20:02 mokalux

Is this library can avoid float-error which is important for online game to sync to each other

momadacoding avatar Sep 14 '21 03:09 momadacoding

Is this library can avoid float-error which is important for online game to sync to each other

What do you mean by float-error exactly ?

DanielChappuis avatar Sep 14 '21 07:09 DanielChappuis

Is this library can avoid float-error which is important for online game to sync to each other

What do you mean by float-error exactly ?

I mean do you use fixed-point, because float point has errors like 0.1 + 0.2 != 0.3

momadacoding avatar Sep 14 '21 13:09 momadacoding