: This aabb tree can also be use to speed up ray tests on btCompoundShape, see http://code.google.com/p/bullet/issues/detail?id=25 Currently, removal of child shapes is only supported when disabling the aabb tree (pass 'false' in the constructor of btCompoundShape)
Most data is public but should either be removed or become private in the future. The "_" suffix means that fields shouldn't be used by consumers of the bke::pbvh API.
Most data is public but should either be removed or become private in the future. The "_" suffix means that fields shouldn't be used by consumers of the bke::pbvh API.
It would be good to change this to something like #draw::pbvh::AttributeRequest to separate the generic attribute requests. While there is a limit on the number of vertex buffers used by a single shader/batch, there is no need for that limit here; there are potentially many shaders requiring attributes for a particular mesh. OTOH, it may be good to use flags for the builtin buffer types, so that bitwise operations can be used.
Don't invert deform_imats on object evaluation. Instead just invert them on-demand in brush implementations. This would be better because only the inversions required for affected vertices would be necessary.
Ideally the "unknown" state would be stored per node rather than per vertex, with a lock-protected Map<const bke::pbvh::Node , BitVector<>> for example. Currently complications with face domain auto-masking prevent this though. This array can't be a bitmap because it's written to from multiple threads at the same time.
Interact with dynamic objects, Ride kinematicly animated platforms properly More realistic (or maybe just a config option) falling -> Should integrate falling velocity manually and use that in stepDown() Support jumping Support ducking