CreateAnimationTable function

Float32List CreateAnimationTable(
  1. List<Bone> skeleton,
  2. Matrix4 globalOffsetTransform,
  3. SkeletalAnimation animation,
  4. List<double> time,
)

Implementation

Float32List CreateAnimationTable(
    List<Bone> skeleton,
    VM.Matrix4 globalOffsetTransform,
    SkeletalAnimation animation,
    List<double> time) {
  AnimatedSkeleton posedSkeleton = AnimatedSkeleton(skeleton.length);
  Float32List data = Float32List(skeleton.length * 16 * time.length);
  int pos = 0;
  for (double t in time) {
    UpdateAnimatedSkeleton(
        skeleton, globalOffsetTransform, animation, posedSkeleton, t);
    for (VM.Matrix4 m in posedSkeleton.skinningTransforms) {
      for (int i = 0; i < 16; ++i) data[pos + i] = m[i];
      pos += 16;
    }
  }
  return data;
}