It seems to be centered around certain joints, but not others, which lead me to think it might be a problem with my vertex weights. My engine is currently limited to 4 weights per vertex (size of a vector), and Ive been trying to make sure my models dont use more than 4, and warn when they do. I use this code to attempt to 'reweight' the vertex for only 4 weights, but im not sure if the logic behind it actually makes sense:
if(weightSet[k]->size()>MAX_VERTEX_WEIGHTS)
{
warn("Vertex %i of mesh %i has more than MAX_VERTEX_WEIGHTS weights, attempting to drop least effective weights, this may not actually make any sense...\n",k,i);
aiWeightSet::iterator it=weightSet[k]->begin();
totalWeightsStored=0;
for(int l=0;l<MAX_VERTEX_WEIGHTS;l++)
{
totalWeightsStored+=it->mWeight;
it++;
}
weightSet[k]->erase(it,weightSet[k]->end());
for each weight:
weight/=totalWeightStored;
}
Ive exported my mesh using both COLLADA and X formats from 3DS Max, and when loading the COLLADA I get warnings that there are too many weights, but not when I use X, however after loading they both look the same, so I thought that maybe the ASSIMP X loader or the Panda .x exporter automatically limits it to four weights, however the files still display correctly in the assimp viewer and 3ds max when loaded back in