Position Based Dynamics

For my second masters project, at Bournemouth University, I chose to implement a physics simulation library. The position based unified physics as presented by Miles Macklin in NVidia flex was my primary reference.

The resulting dynamics library was written from scratch in C++, and includes different effects. The main ones are Rigid and deformable bodies, Hair, Cloth and Ropes, Sand and fluids.

The library was designed to be easily extended in every way possible (forces, constraints, object types), which allowed me to develop the library with a couple of effects and then easily extending to other once most of the work was done. Furthermore it is worth mentioning I used OpenMP to parallelize the library, and relied on the Boost library for several different aspects. I also wrote my own hashgrid to enable fast look up of particle positions.

Here’s a video of it in action:

© 2020. All rights reserved.