+ for (Node *child: children) child->draw(meshes, materials, skybox, tick, boneTransforms, m);
+}
+
+void printMatrix4x4(aiMatrix4x4 m) {
+ fprintf(stderr, "%f, %f, %f, %f\n", m.a1, m.a2, m.a3, m.a4);
+ fprintf(stderr, "%f, %f, %f, %f\n", m.b1, m.b2, m.b3, m.b4);
+ fprintf(stderr, "%f, %f, %f, %f\n", m.c1, m.c2, m.c3, m.c4);
+ fprintf(stderr, "%f, %f, %f, %f\n", m.d1, m.d2, m.d3, m.d4);
+}
+
+void printHierarchy(aiNode *n, int indent = 0) {
+ for (int i = 0; i < indent; i++)
+ fprintf(stderr, "\t");
+ fprintf(stderr,"%s\n", n->mName.C_Str());
+ printMatrix4x4(n->mTransformation);
+ for (int i = 0; i < n->mNumChildren; i++)
+ printHierarchy(n->mChildren[i], indent + 1);