diff --git a/content/posts/newsletter-016/index.md b/content/posts/newsletter-016/index.md index 05d18469a..6adc351ef 100644 --- a/content/posts/newsletter-016/index.md +++ b/content/posts/newsletter-016/index.md @@ -229,6 +229,32 @@ _Discussions: [toy benchmark]: https://git.sr.ht/~vlmutolo/rkyv-bench/tree/master/src/main.rs [architecture and internals of rkyv]: https://davidkoloski.me/blog/rkyv-architecture/ +### [rib] + +![rib](rib.gif) + +Parsing a 3D model file and understanding the different links between bone +matrices, keyframes and vertices is a task that can take a lot of time and +motivation of the developer. On top of that, combining the different bone +transform matrices for the current frame is often error prone. + +[rib] is an attempt to tackle these problems and might help you save time. +Current features of [rib] include: + +- Support of collada files coming from the latest Blender version. +- Precomputation of the bone matrices expressed in the world space so that you + just have to pass it to your shader for traditional GPU skinning. +- Interpolation between keyframes +- (De)/serialization in binary thanks to [bincode] + +[rib] can be greatly extended, for example with the support of other format +handling skeleton data, such as the [glTF] format. +Contributions are more than welcome. + +[rib]: https://github.com/bmatthieu3/rib +[bincode]: https://github.com/servo/bincode +[glTF]: https://github.com/KhronosGroup/glTF/blob/master/README.md + ### [Kira] [Kira] by [@tesselode] is an audio library designed to help create expressive diff --git a/content/posts/newsletter-016/rib.gif b/content/posts/newsletter-016/rib.gif new file mode 100644 index 000000000..79bdd32b1 Binary files /dev/null and b/content/posts/newsletter-016/rib.gif differ