Very often I see skeletal animation implemented like this:
- On Init - store bone's local transforms and inverse bind pose
- On Update - traverse the skeleton tree, multiplying local transforms on the way (and inverse bind pose)
However, it is more efficient to pre-calculate global poses from local transforms and just reassign them at specified time point to constant buffer.
What is the benefit of keeping all those local matrices? Does it have any meaningful application in other systems like physics, collision detection? People still choose the first scenario and that actually keeps me puzzled.