Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/skin.c:
memcpy(dst_element, src_element, element_size);
break;
}
}
- }
- for (unsigned int i = 0; i < skin->num_bones; ++i)
- {
const struct bone *bone = &skin->bones[i];
for (unsigned int j = 0; j < bone->num_influences; ++j)
{
unsigned int vertex_idx = bone->vertices[j];
float weight = bone->weights[j];
for (const D3DVERTEXELEMENT9 *element = skin->vertex_declaration; element->Stream != 0xff; ++element)
This might be a bit of an unimportant nitpick, but I'd rather make this loop the outermost and avoid empty spinning bone_count * vertices_count times for each vertex element that's not position or normal.