+ GLuint progId, vao, numIndices;
+ GLuint vbos[6];
+ unsigned int materialIndex;
+ BoneMap boneMap;
+ const aiMesh &ai;
+ void updatePosBuffer() const;
+ };
+
+ class Node {
+ public:
+ Node(aiNode &aiNode, GLuint progId, AnimMap *animMap, std::set<std::string> allBones, Node *parent);
+
+ void draw(const std::vector<Mesh> &meshes, const std::vector<Material> &materials, const Skybox s, const float tick, const BoneTransforms &boneTransforms, glm::mat4 parentModel) const;
+ const std::vector<Node*> &getChildren() const { return children; }
+ Node* findNode(const aiNode &aiNode);
+ aiNode &ai;
+
+ // an extra transform
+ glm::mat4 transform = glm::mat4(1);