A real-time collision detection and multi-physics simulation SDK for VR, games, robotics, and machine learning.
Bullet Physics SDK is an open-source physics engine that provides real-time collision detection and multi-physics simulation. It solves the problem of simulating realistic physical interactions in dynamic environments, supporting applications from video games and virtual reality to robotics and machine learning.
Game developers, VR/AR engineers, robotics researchers, visual effects artists, and machine learning practitioners who need robust physics simulation in their projects.
Developers choose Bullet for its proven reliability, cross-platform compatibility, and extensive feature set including GPU acceleration and Python bindings, all available under a permissive open-source license.
Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
Unifies rigid body, soft body, and fluid dynamics in a single framework, making it versatile for games, VR, and robotics simulations as highlighted in the README.
Provides easy-to-use Python bindings specifically recommended for robotics and machine learning, with simple pip installation and extensive examples like enjoy_TF_AntBulletEnv.
Runs on Windows, Linux, macOS, iOS, and Android with C++ compiler support, ensuring consistent physics behavior across diverse operating systems.
Uses the zlib license, allowing unrestricted commercial and research use without copyleft restrictions, encouraging broad adoption as noted in the philosophy.
Includes a dedicated VR sandbox for HTC Vive and Oculus Rift, and experimental OpenCL support for high-end GPUs, though with noted limitations.
The GitHub issue tracker is closed due to flooding, forcing users to rely on forums for help, which may slow down issue resolution and community interaction.
OpenCL GPGPU support is experimental, fails on CPU devices, and has performance issues on laptops, with frequent kernel compilation errors mentioned in the README.
Building from source involves multiple methods like vcpkg, premake, and cmake with platform-specific scripts, adding setup complexity and potential for errors.
The README heavily promotes PyBullet over C++, indicating that native C++ development might receive less attention and documentation compared to Python bindings.
Protocol Buffers - Google's data interchange format
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
JSON for Modern C++
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.