Week 10 - Multi-node skinning support ===================================== .. post:: August 25 2022 :author: Shivam Anand :tags: google :category: gsoc What did you do this week? -------------------------- As we figured out that the ``SimpleSkin`` model is not animated as intended. This week I started working with that model; I figured out that we need to apply the InverseBindMatrix to each timer callback. I had a hard time figuring out what inverse bind matrix actually does. Here's a good `blog <https://stackoverflow.com/questions/17127994/opengl-bone-animation-why-do-i-need-inverse-of-bind-pose-when-working-with-gp>`_ that answers that. **In short: The InverseBindMatrix "undoes" any transformation that has already been applied to your model in its bind pose.** Note: Inverse bind matrix shouldn't be applied with weights. - I got the ``SimpleSkin`` model to work perfectly. Here's a preview: .. raw:: html <iframe id="player" type="text/html" width="600" height="390" src="https://user-images.githubusercontent.com/74976752/186712241-eaf8d1b3-f983-4e21-8264-c191b3eb6e4b.mp4" frameborder="0"></iframe> - Support for multiple transformations is still missing. However ``RiggedSimple`` is also working fine, except that It doesn't interpolate translation and scaling matrices. .. raw:: html <iframe id="player" type="text/html" width="600" height="390" src="https://user-images.githubusercontent.com/74976752/186712256-af02c902-f60f-43b9-b257-f706c999557e.mp4" frameborder="0"></iframe> What is coming up next week? ---------------------------- - Adding tests and adding support for combining transformation matrices for the same timestamp. - Write an Interpolator that applies skinning to the mesh internally. Did you get stuck anywhere? --------------------------- No, I didn't get stuck this week.