diff --git a/code/glTFExporter.cpp b/code/glTFExporter.cpp index e333272be..960dd3b11 100644 --- a/code/glTFExporter.cpp +++ b/code/glTFExporter.cpp @@ -267,6 +267,13 @@ void glTFExporter::ExportMaterials() void glTFExporter::ExportMeshes() { + std::string bufferId = mAsset->FindUniqueID("", "buffer"); + + Ref b = mAsset->GetBodyBuffer(); + if (!b) { + b = mAsset->buffers.Create(bufferId); + } + for (unsigned int i = 0; i < mScene->mNumMeshes; ++i) { const aiMesh* aim = mScene->mMeshes[i]; @@ -277,13 +284,6 @@ void glTFExporter::ExportMeshes() p.material = mAsset->materials.Get(aim->mMaterialIndex); - std::string bufferId = mAsset->FindUniqueID(meshId, "buffer"); - - Ref b = mAsset->GetBodyBuffer(); - if (!b) { - b = mAsset->buffers.Create(bufferId); - } - Ref v = ExportData(*mAsset, meshId, b, aim->mNumVertices, aim->mVertices, AttribType::VEC3, AttribType::VEC3, ComponentType_FLOAT); if (v) p.attributes.position.push_back(v);