I've been working with the soft body demo provided with Bullet 2.80 recently, and I wanted to work on integrating the OpenCL softbody solvers. Within the demo, it looks like most of the work is done (just a matter of a #define USE_AMD_OPENCL), but I've been running into issues.
First of all, not all .cl files compile correctly. The SolveCollisionsAndUpdateVelocities kernel fails to compile at runtime (on OSX, anyway. It s. To work around this, I integrated an older version of the kernel I found in legacy code. While it compiles, the simulation does not run correctly. Gravity works, but lift/drag is not applied, and there is no collision detection present. I've tracked down the error to an "Unsupported collision shape type", it seems that only capsule collision shapes are allowed? Is this true?
Has anyone figured out how to include other collision shapes? My goal is to collide a cloth with a BvhTriangleMesh shape, ideally on the GPU. If the collisions won't work on the GPU, is there a way to keep collision detection on the CPU and only use the dynamics/constraint solvers on the GPU?