diff --git a/assimpModelReader.cpp b/assimpModelReader.cpp index 2ac24eb..e6631e5 100644 --- a/assimpModelReader.cpp +++ b/assimpModelReader.cpp @@ -15,7 +15,7 @@ namespace vb01{ cout<<"Failed to load model:"<mRootNode, scene, this); + processNode(scene->mRootNode, scene, model); } void AssimpModelReader::processNode(aiNode *node, const aiScene *scene, Node *currentNode){ diff --git a/mesh.cpp b/mesh.cpp index 82a2980..36a9c63 100755 --- a/mesh.cpp +++ b/mesh.cpp @@ -175,7 +175,7 @@ namespace vb01{ shader->setMat4(model,"model"); if(skeleton){ - skeleton->update(); + //skeleton->update(); shader->editShader(Shader::VERTEX_SHADER,2,"const int numBones="+to_string(skeleton->getNumBones())+";"); shader->editShader(Shader::VERTEX_SHADER,3,"const int numVertGroups="+to_string(numVertexGroups)+";"); diff --git a/skeleton.cpp b/skeleton.cpp index eadfa4a..f03360f 100644 --- a/skeleton.cpp +++ b/skeleton.cpp @@ -10,10 +10,13 @@ namespace vb01{ } void Skeleton::update(){ + for(Bone *b : bones) + b->update(); } void Skeleton::addBone(Bone *bone, Bone *parent){ - parent->attachChild(bone); + if(parent) + parent->attachChild(bone); bone->setSkeleton(this); bones.push_back(bone); }