Bullet is a
physics engine
A physics engine is computer software that provides an approximate simulation of certain physical systems, typically classical dynamics, including rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics. I ...
which simulates
collision detection
Collision detection is the computational problem of detecting an intersection of two or more objects in virtual space. More precisely, it deals with the questions of ''if'', ''when'' and ''where'' two or more objects intersect. Collision detect ...
as well as
soft and
rigid body dynamics
In the physical science of dynamics, rigid-body dynamics studies the movement of systems of interconnected bodies under the action of external forces. The assumption that the bodies are '' rigid'' (i.e. they do not deform under the action ...
. It has been used in
video game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
s and for visual effects in movies. Erwin Coumans, its main author, won a Scientific and Technical Academy Award for his work on Bullet. He worked for
Sony Computer Entertainment
Sony Interactive Entertainment LLC (SIE) is an American video game and digital entertainment company that is a major subsidiary of Japanese conglomerate Sony, Sony Group Corporation. It primarily operates the PlayStation brand of video game co ...
US R&D from 2003 until 2010, for
AMD
Advanced Micro Devices, Inc. (AMD) is an American multinational corporation and technology company headquartered in Santa Clara, California and maintains significant operations in Austin, Texas. AMD is a hardware and fabless company that de ...
until 2014, for
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
until 2022 and he now works for
Nvidia
Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
.
The Bullet physics library is
free and open-source software
Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
subject to the terms of the
zlib License
The zlib license is a permissive software license which defines the terms under which the zlib software library can be distributed. It is also used by many other open-source packages. The libpng library uses a similar license, libpng license, s ...
. The
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
is hosted on
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
; before 2014 it was hosted on
Google Code
Google Developers (previously Google Code) , application programming interfaces (APIs), and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers usin ...
.
Features
* Rigid body and soft body simulation with discrete and continuous collision detection
* Collision shapes include: sphere, box, cylinder, cone, convex hull using
GJK, non-convex and
triangle mesh
In computer graphics, a triangle mesh is a Types of mesh, type of polygon mesh. It comprises a set of triangles (typically in three dimensions) that are connected by their common Edge (geometry), edges or Vertex (geometry), vertices.
Many gra ...
*
Soft body support: cloth, rope and deformable objects
* A rich set of rigid body and soft body constraints with constraint limits and motors
* Plugins for
Maya
Maya may refer to:
Ethnic groups
* Maya peoples, of southern Mexico and northern Central America
** Maya civilization, the historical civilization of the Maya peoples
** Mayan languages, the languages of the Maya peoples
* Maya (East Africa), a p ...
,
Softimage, integrated into
Houdini
Erik Weisz (March 24, 1874 – October 31, 1926), known professionally as Harry Houdini ( ), was a Hungarian-American escapologist, illusionist, and stunt performer noted for his escape acts.
Houdini first attracted notice in vaudeville in ...
,
Cinema 4D
Cinema 4D is a 3D software suite developed by the German company Maxon.
Overview
As of R21, only a single version of Cinema 4D is available. It replaces all previous variants, including BodyPaint 3D, and includes all features of the past 'Stu ...
,
LightWave 3D
LightWave 3D is a 3D computer graphics program developed by LightWave Digital. It has been used in films, television, motion graphics, digital matte painting, visual effects, video game development, product design, architectural visualization ...
,
Blender
A blender (sometimes called a mixer (from Latin ''mixus, the PPP of miscere eng. to Mix)'' or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary ...
,
Godot, and Poser
* Import of
COLLADA 1.4 physics content
* Optional optimizations for
PlayStation 3
The PlayStation 3 (PS3) is a home video game console developed and marketed by Sony Computer Entertainment (SCE). It is the successor to the PlayStation 2, and both are part of the PlayStation brand of consoles. The PS3 was first released on ...
Cell
Cell most often refers to:
* Cell (biology), the functional basic unit of life
* Cellphone, a phone connected to a cellular network
* Clandestine cell, a penetration-resistant form of a secret or outlawed organization
* Electrochemical cell, a de ...
SPU,
CUDA
In computing, CUDA (Compute Unified Device Architecture) is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated gene ...
and
OpenCL
OpenCL (Open Computing Language) is a software framework, framework for writing programs that execute across heterogeneous computing, heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), di ...
The Bullet website also hosts a Physics Forum for general discussion around physics simulation for games and animation.
At AMD Developer Summit (APU) in November 2013 Erwin Coumans presented the Bullet 3
OpenCL
OpenCL (Open Computing Language) is a software framework, framework for writing programs that execute across heterogeneous computing, heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), di ...
Rigid Body
In physics, a rigid body, also known as a rigid object, is a solid body in which deformation is zero or negligible, when a deforming pressure or deforming force is applied on it. The distance between any two given points on a rigid body rema ...
Simulation.
References
External links
*
*
PybulletPython bindings for Bullet, with support for
Reinforcement Learning
Reinforcement learning (RL) is an interdisciplinary area of machine learning and optimal control concerned with how an intelligent agent should take actions in a dynamic environment in order to maximize a reward signal. Reinforcement learnin ...
and
Robotics Simulation
A robotics simulator is a simulator used to create an application for a physical robot without depending on the physical machine, thus saving cost and time. In some case, such applications can be transferred onto a physical robot (or rebuilt) wit ...
{{DEFAULTSORT:Bullet (Software)
Computer physics engines
Software using the zlib license