From 43196cd0a66cb048d7198a225ebe396ed61b3bc4 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 14 Sep 2017 14:46:48 -0700 Subject: [PATCH] fix buffer resizing to only occur when attribute is present --- libraries/fbx/src/FBXReader_Mesh.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/libraries/fbx/src/FBXReader_Mesh.cpp b/libraries/fbx/src/FBXReader_Mesh.cpp index 163a92e3bd..bef36770a0 100644 --- a/libraries/fbx/src/FBXReader_Mesh.cpp +++ b/libraries/fbx/src/FBXReader_Mesh.cpp @@ -362,10 +362,22 @@ ExtractedMesh FBXReader::extractMesh(const FBXNode& object, unsigned int& meshIn QHash, int> materialTextureParts; data.extracted.mesh.vertices.resize(numVertices); - data.extracted.mesh.normals.resize(numVertices); - data.extracted.mesh.texCoords.resize(numVertices); - data.extracted.mesh.texCoords1.resize(numVertices); - data.extracted.mesh.colors.resize(numVertices); + + if (normalAttribute) { + data.extracted.mesh.normals.resize(numVertices); + } + + if (texCoordAttribute) { + data.extracted.mesh.texCoords.resize(numVertices); + } + + if (extraTexCoordAttribute) { + data.extracted.mesh.texCoords1.resize(numVertices); + } + + if (colorAttribute) { + data.extracted.mesh.colors.resize(numVertices); + } // enumerate the vertices and construct the extracted mesh for (int i = 0; i < numVertices; ++i) {