Path to this page:
./
graphics/box2d,
2D physics engine for games
Branch: CURRENT,
Version: 3.1.1,
Package name: box2d-3.1.1,
Maintainer: ryoonBox2D is a 2D physics engine for games. It features:
Collision
Continuous collision detection
Contact callbacks: begin, end, pre-solve, post-solve
Convex polygons and circles
Multiple shapes per body
One-shot contact manifolds
Dynamic tree broadphase
Efficient pair management
Fast broadphase AABB queries
Collision groups and categories
Physics
Continuous physics with time of impact solver
Persistent body-joint-contact graph
Island solution and sleep management
Contact, friction, and restitution
Stable stacking with a linear-time solver
Revolute, prismatic, distance, pulley, gear, mouse joint,
and other joint types
Joint limits, motors, and friction
Momentum decoupled position correction
Fairly accurate reaction forces/impulses
Master sites:
Filesize: 761.831 KB
Version history: (Expand)
- (2026-09-22) Updated to version: box2d-3.1.1
- (2025-10-24) Package has been reborn
- (2025-10-24) Package deleted from pkgsrc
- (2025-07-15) Package has been reborn
- (2025-07-15) Package deleted from pkgsrc
- (2024-08-11) Updated to version: box2d-2.4.2
CVS history: (Expand)
2026-09-22 09:55:31 by Ryo ONODERA | Files touched by this commit (4) |  |
Log message:
graphics/box2d: Update to 3.1.1
Changelog:
3.1.1:
What's Changed
Warning as error off by default by @erincatto in #914
functions to get and set surface material by @erincatto in #921
Fixed another shape distance assert by @erincatto in #926
Revolute and prismatic targets by @erincatto in #929
Cast initial overlap by @erincatto in #933
Tunable joint stiffness by @erincatto in #934
_aligned_free for mingw by @erincatto in #939
Removed MSVC static library setting by @erincatto in #940
# v3.1 Release Notes
## API Changes
- 64-bit filter categories and masks
- 64-bit dynamic tree user data
- Renamed `b2SmoothSegment` to `b2ChainSegment`
- Cast and overlap functions modified for argument consistency
- Contact begin events now provide the manifold
- More consistent functions to make polygons
- Contact events are now disabled by default
- Replaced `b2Timer` with `uint64_t`
- Shape material properties now use `b2SurfaceMaterial`
## New Features
- New character mover features and sample
- Revised sensor system is now independent of body type and sleep
- Rolling resistance and tangent speed
- Friction and restitution mixing callbacks
- World explosions
- World access to the maximum linear speed
- More control over body mass updates
- Filter joint to disable collision between specific bodies
- Bodies can now have names for debugging
- Added `b2Body_SetTargetTransform` for kinematic bodies
## Improvements
- Cross-platform determinism
- Custom SSE2 and Neon for significantly improved performance
- SSE2 is the default instead of AVX2
- Removed SIMDE library dependency
- Faster ray and shape casts
- Faster continuous collision
- Each segment of a chain shape may have a different surface material
- Reduced overhead of restitution when not used
- Implemented atomic platform wrappers eliminating the `experimental:c11atomics` flag
## Bugs Fixes
- Many bug fixes based on user testing
- Fixed missing hit events
- Capsule and polygon manifold fixes
- Fixed missing contact end events
- PreSolve is now called in continuous collision
- Reduced clipping into chain shapes by fast bodies
- Friction and restitution are now remixed in the contact solver every time step
- Body move events are now correctly adjusted for time of impact
## Infrastructure
- Unit test for API coverage
- macOS and Windows samples built in GitHub actions
- CMake install
- imgui and glfw versions are now pinned in FetchContent
- Initial Emscripten support
|
| 2024-08-25 08:19:21 by Thomas Klausner | Files touched by this commit (575) |
Log message:
*: replace CMAKE_ARGS with CMAKE_CONFIGURE_ARGS
|
2024-08-11 08:39:04 by Thomas Klausner | Files touched by this commit (4) |  |
Log message:
box2d: update to 2.4.2.
This is the final release of version 2. The next commit with be version 3.0.
This has a few bug fixes, but is mainly being created for people
who want to stay on version 2.
What's Changed
Remove unnecessary function by @erincatto in #659
Typo fix by @gittem01 in #684
Update box2d's version of Doctest to latest version by @PatrickHoward in #682
Create cmake.yml by @erincatto in #707
Added macos and windows actions by @erincatto in #708
Issue Fixes by @erincatto in #709
Making hull builder more robust by @erincatto in #735
Miscellaneous fixes by @erincatto in #736
Adjust mouse joint damping with time step by @erincatto in #737
Add benchmark test by @erincatto in #744
|
| 2023-03-05 15:56:36 by Tobias Nygren | Files touched by this commit (1) |
Log message:
box2d: disable building unit test
Broken on at least Fedora 37 by:
unit-test/doctest.h:4021:47: error: size of array 'altStackMem' is not
an integral constant-expression
|
| 2023-01-24 19:36:36 by Thomas Klausner | Files touched by this commit (103) |
Log message:
*: convert to cmake/build.mk
|
| 2021-10-26 12:47:26 by Nia Alarie | Files touched by this commit (800) |
Log message:
graphics: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
|
| 2021-10-07 16:13:27 by Nia Alarie | Files touched by this commit (800) |
Log message:
graphics: Remove SHA1 hashes for distfiles
|
| 2021-02-06 07:41:33 by Ryo ONODERA | Files touched by this commit (5) |
Log message:
graphics/box2d: import box2d-2.4.1
Box2D is a 2D physics engine for games.
Features:
Collision
Continuous collision detection
Contact callbacks: begin, end, pre-solve, post-solve
Convex polygons and circles
Multiple shapes per body
One-shot contact manifolds
Dynamic tree broadphase
Efficient pair management
Fast broadphase AABB queries
Collision groups and categories
Physics
Continuous physics with time of impact solver
Persistent body-joint-contact graph
Island solution and sleep management
Contact, friction, and restitution
Stable stacking with a linear-time solver
Revolute, prismatic, distance, pulley, gear, mouse joint,
and other joint types
Joint limits, motors, and friction
Momentum decoupled position correction
Fairly accurate reaction forces/impulses
System
Small block and stack allocators
Centralized tuning parameters
Highly portable C++ with no use of STL containers
|