erincatto/box3d

Box3D is a 3D physics engine for games

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 36 minutes ago
Added to GitGenius on July 31st, 2026
Created on May 10th, 2026
Open Issues & Pull Requests: 12 (+0)
GitHub issues: Enabled
Number of forks: 291
Total Stargazers: 5,932 (+0)
Total Subscribers: 46 (+0)

Issue Activity (beta)

Open issues: 10
New in 7 days: 3
Closed in 7 days: 0
Avg open age: 13 days
Stale 30+ days: 1
Stale 90+ days: 0

Recent activity

Opened in 7 days: 3
Closed in 7 days: 0
Comments in 7 days: 2
Events in 7 days: 2

Top labels

  • LLM (8)
  • bug (1)
  • wontfix (1)

Repository Insights (GitGenius)

Median issue/PR response: 19.2 hours
Mean response time: 3.3 days
90th percentile: 7.1 days
Tracked items: 54

Most active contributors

Detailed Description

Box3D is a 3D physics engine written in C designed specifically for game development. Created by Erin Catto, the engine provides a comprehensive suite of physics simulation capabilities built on a data-oriented architecture optimized for performance at scale. The project has maintained steady interest with 5,722 stargazers as of the most recent tracking period, showing modest but consistent growth.

The collision system in Box3D supports continuous collision detection with multiple shape types including convex hulls, capsules, spheres, triangle meshes, and height fields. The engine handles multiple shapes per body, implements collision filtering, and provides ray casts, shape casts, and overlap queries. A sensor system and character mover are included to support common game development patterns. The physics simulation relies on a robust Soft Step rigid body solver with continuous physics handling for fast translations and rotations, island-based sleep optimization, and support for multiple joint types including revolute, prismatic, distance, motor, weld, and wheel joints. Joint limits, motors, springs, and friction are all configurable, with the engine tracking joint and contact forces plus body movement events and sleep notifications.

The engine is written in portable C17 and emphasizes extensive multithreading and SIMD optimization, making it particularly efficient for scenarios involving large numbers of bodies. Cross-platform determinism is maintained, and the engine supports recording and replay functionality. The samples application uses sokol for graphics rendering, supporting D3D11 on Windows, Metal on macOS, and OpenGL 4.5 on Linux, with an imgui-based graphical interface demonstrating features and performance characteristics.

Building is supported across Windows, Linux, macOS, and WebAssembly through CMake with preset configurations provided for streamlined compilation. The core library has no dependencies beyond the C runtime and libm on Unix systems. Documentation is generated with Doxygen and available in the docs directory. The project uses SSE2 and Neon SIMD instructions for performance, with an option to disable SIMD through the BOX3D_DISABLE_SIMD define.

According to GitGenius tracking data, the repository shows a median issue and pull request response latency of 19.2 hours with a mean of 79.6 hours across 53 tracked items. The primary contributor erincatto has logged 99 events, with cairnc and graeme-russell each contributing 5 events. The most active issue label is LLM with 8 occurrences, reflecting Catto's documented use of language models in unit tests, the samples application, code migration, build configuration, code reviews, and benchmarking, while maintaining that all other code is developed and written by him personally. The repository overlaps contributors with llvm/llvm-project, anuken/mindustry, and python/cpython. Pull requests are currently disabled in favor of issue-based feedback and community discussion through Discord and GitHub Discussions.

box3d
by
erincattoerincatto/box3d

Repository Details

Fetching additional details & charts...