Blender Git Loki
Git Commits -> Revision d1b934d
Revision d1b934d by Lukas Toenne (temp_bullet_ghosts) April 28, 2015, 16:39 (GMT) |
Extension of the C-API for Bullet in Blender, to enable customized collision detection outside of rigid body dynamics. These extensions consist of a few major changes: * Support for "btGhost" objects. These are Bullet collision objects, but not rigid bodies. They can be added to a btCollisionWorld, or they can be used for immediate individual collision detection. Ghost objects don't have any effect on rigid bodies or other collision objects. Ghost objects are "one-way" colliders: they register contacts with actual collision objects, but don't themselves generate contacts in other bodies. This makes them useful for accessing Bullet's advanced contact generation algorithms in simulation systems that don't actually interact with rigid bodies (e.g. hair or cloth). * Better low-level access to collision shapes. Collision shapes can now be allocated outside of the API using static size variables. This allows more efficient allocation schemes, such as bulk array allocation and mempools/memarenas. The Bullet engine itself expects callers to allocate and manage class instances in fact, but due to the optional linking with Bullet and the differences between C/C++ the allocation was left to single collision shape instances so far. * Compound shapes can now be constructed explicitly as well. Previously only the primitive shapes were supported, with compounds limited to special cases. * Contact callback functions (contact and proximity tests) can now do complete reports of all manifold contact points. Taken together, these API improvements will open up Bullet to a wider range of features inside Blender, for rigid body simulations as well as other uses. Differential Revision: https://developer.blender.org/D1268 |
Commit Details:
Full Hash: d1b934d81b9f827dcb67c3d8107f6e143c91a3ca
Parent Commit: 0a693d7
Lines Changed: +34, -22