Я не могу понять, как использовать Exporter
экспортировать мою сцену в dae
формат. Теперь я делаю это так:
void Model::save(const std::string &path)
{
// Create a new scene
aiScene scene;
scene.mRootNode = new aiNode();
// Create a material
scene.mMaterials = new aiMaterial *[1];
scene.mMaterials[0] = new aiMaterial();
scene.mNumMaterials = 1;
// Create a mesh
scene.mMeshes = new aiMesh *[_meshes.size()];
scene.mNumMeshes = _meshes.size();
// Set our mesh to the root node
scene.mRootNode->mMeshes = new unsigned[_meshes.size()];
scene.mRootNode->mNumMeshes = _meshes.size();
// Build meshes
for (unsigned i = 0; i < scene.mNumMeshes; ++i) {
auto mesh = scene.mMeshes[i] = new aiMesh();
// Set our material
scene.mMeshes[i]->mMaterialIndex = 0;
scene.mRootNode->mMeshes[i] = i;
buildAiMesh(_meshes[i], mesh);
}
// Export to file
Assimp::Exporter exporter;
auto format = exporter.GetExportFormatDescription(0);
exporter.Export(&scene, format->id, path);
}
Я уверен, что это не правильно, но я не могу найти чистую документацию, как это сделать.
ОБНОВЛЕНО:
Решение было очень простым … Мне нужно было указать формат напрямую:
exporter.Export(&scene, "collada", path);
Задача ещё не решена.
Других решений пока нет …