principia/lib/Box2D
2025-03-05 20:23:30 +01:00
..
Collision Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
Common Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
Dynamics Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
Particle Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
Rope Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
Box2D.h Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
README.md Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00

Multithreaded Box2D

This is a modified version of Box2D+LiquidFun.

You should probably not use it outside Principia, it is fine-tuned for Principia physics and even includes some of our math-stuff for determinism and speed.

On the other hand, it fixes many Box2D issues that were present at the time (most of them still).

For instance, island sleeping is much, much more stable and noise tolerant, which was a requirements for the dynamic trees in Principia.

Probably the most interesting feature is that our implementation of multi-threading. Two separate parts are multithreaded, Island solving and collision checking.