summaryrefslogtreecommitdiffstats
path: root/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/sceneparsers/gltfexport/gltfexporter.cpp')
-rw-r--r--src/plugins/sceneparsers/gltfexport/gltfexporter.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp b/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
index 8b4fac1ce..7be8dd43e 100644
--- a/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
+++ b/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp
@@ -734,10 +734,13 @@ void GLTFExporter::parseMeshes()
int meshCount = 0;
for (auto it = m_meshMap.constBegin(); it != m_meshMap.constEnd(); ++it) {
Node *node = it.key();
- QGeometryRenderer *mesh = it.value();
+ QGeometryRenderer *renderer = it.value();
+ QGeometryView *mesh = renderer->view();
+ if (!mesh)
+ continue;
MeshInfo meshInfo;
- meshInfo.originalName = mesh->objectName();
+ meshInfo.originalName = mesh->objectName().isEmpty() ? renderer->objectName() : mesh->objectName();
meshInfo.name = newMeshName();
meshInfo.materialName = m_materialInfo.value(m_materialMap.value(node)).name;
@@ -764,7 +767,7 @@ void GLTFExporter::parseMeshes()
}
if (meshInfo.meshType != TypeNone) {
- meshInfo.meshComponent = mesh;
+ meshInfo.meshComponent = renderer;
cacheDefaultProperties(meshInfo.meshType);
if (GLTFExporterLog().isDebugEnabled()) {
@@ -973,7 +976,7 @@ void GLTFExporter::parseMeshes()
}
meshCount++;
- m_meshInfo.insert(mesh, meshInfo);
+ m_meshInfo.insert(renderer, meshInfo);
}
qCDebug(GLTFExporterLog, "Total buffer size: %i", m_buffer.size());
@@ -1249,7 +1252,7 @@ bool GLTFExporter::saveScene()
mesh["name"] = meshInfo.originalName;
if (meshInfo.meshType != TypeNone) {
QJsonObject properties;
- exportGenericProperties(properties, meshInfo.meshType, meshInfo.meshComponent);
+ exportGenericProperties(properties, meshInfo.meshType, meshInfo.meshComponent->view());
mesh["type"] = meshInfo.meshTypeStr;
mesh["properties"] = properties;
mesh["material"] = meshInfo.materialName;