My (partial) btSoftBody re-write
Posted: Wed Oct 17, 2012 1:16 pm
Hello, in the last couple of months I've been working on a btSoftBody replacement we could use for our surgical simulations. We found the current implementation to be very hard to understand and extend, and Erwin suggested to start from scratch too. I had very little background on impulse-based physics engines before starting, so forgive me if this isn't that ground-breaking!
Just the fact I've been using mass-spring models and the unmodified sequential impulse approach from Catto's "Iterative Dynamics with Temporal Coherence" should suggest this isn't quite on the bleeding edge.
Anyway, it works for us and it's orders of magnitudes easier to tune and work on this code as it's just about 1000 lines of code and the soft body parameters are a handful. Of course, it is still under heavy development so its performance are undoubtedly inferior to the current btSoftBody implementation. We're still not sure if it's worth tuning this CPU implementation or go straight for a GPU implementation.
I'd like to know what you think, and what kind of features you'd like to see added to make it more compelling as a btSoftBody replacement.
Thank you!
Luca Vezzaro
Altair lab, University of Verona
Just the fact I've been using mass-spring models and the unmodified sequential impulse approach from Catto's "Iterative Dynamics with Temporal Coherence" should suggest this isn't quite on the bleeding edge.
Anyway, it works for us and it's orders of magnitudes easier to tune and work on this code as it's just about 1000 lines of code and the soft body parameters are a handful. Of course, it is still under heavy development so its performance are undoubtedly inferior to the current btSoftBody implementation. We're still not sure if it's worth tuning this CPU implementation or go straight for a GPU implementation.
I'd like to know what you think, and what kind of features you'd like to see added to make it more compelling as a btSoftBody replacement.
Thank you!
Luca Vezzaro
Altair lab, University of Verona