diff options
-rw-r--r-- | src/runtime/q3dsmeshloader.cpp | 2 | ||||
-rw-r--r-- | src/runtime/q3dsuippresentation.cpp | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/runtime/q3dsmeshloader.cpp b/src/runtime/q3dsmeshloader.cpp index f26f893..5ca3657 100644 --- a/src/runtime/q3dsmeshloader.cpp +++ b/src/runtime/q3dsmeshloader.cpp @@ -894,7 +894,7 @@ Q3DSMesh *loadMeshDataFromCustomGeometry(const Q3DSGeometry &geom, Q3DSMeshLoade continue; Qt3DRender::QBuffer *vertexBuffer = mapping->bufferMap[attrDesc->bufferIndex]; - const int vertexCount = vertexBuffer->data().size() / componentByteSize(attrDesc->componentType); + const int vertexCount = vertexBuffer->data().size() / attrDesc->stride; Qt3DRender::QAttribute *attr = new Qt3DRender::QAttribute(vertexBuffer, q3dsAttributeName(attrDesc->semantic), Qt3DRender::QAttribute::VertexBaseType(attrDesc->componentType), diff --git a/src/runtime/q3dsuippresentation.cpp b/src/runtime/q3dsuippresentation.cpp index 56f97a1..5ab3fd6 100644 --- a/src/runtime/q3dsuippresentation.cpp +++ b/src/runtime/q3dsuippresentation.cpp @@ -3532,7 +3532,8 @@ Q3DSPropertyChange Q3DSModelNode::setCustomMesh(Q3DSGeometry *geom) { if (m_customMesh != geom) delete m_customMesh; - + // Update attributes so that qt3d has up-to-date parameters. + Q3DSMeshLoader::loadMesh(*geom, &m_customMeshMapping); m_customMesh = geom; // takes ownership // like setMesh but note that the m_mesh_unresolved value does not change |