Felt
3.1
Deformable surface library.
|
Documentation: http://feltech.github.io/Felt/
Source: http://feltech.github.io/Felt/
Video (via UrFelt): https://www.youtube.com/watch?v=KwpXzBb6Nzs
Felt is an implementation of the sparse field level set method for deformable surfaces, and the marching cubes method of polygonising them.
The surface is embedded in a grid, where each grid node stores its distance to the surface. Thus the surface can be extracted from the points where the distance is zero - it is an implicit surface representation.
Felt makes heavy use of spatial partitioning to reduce memory footprint, provide localised deformations and repolygonisation, and aid in parallelism.
Felt leverages C++14 and is header-only, with a dependencies on boost and Eigen libraries.
The library is in a stable state, but the documentation needs work.
There are Doxygen annotations for almost all functions and classes, and quite extensive test cases. I aim to finish tidying up the test cases, which now use the awesome Catch BDD style testing library, and use these as integral parts of the documentation via snippets.
There is ongoing development to support the physics engine Bullet via the amazing game engine Urho3D in my test-bed demo app UrFelt. I aim to move the Bullet and Urho3D classes developed there to form an optional part of the main Felt project.
A super simple example from the tests: