From 3e8b5c8714cef10f5d5f637d9a4d116b617d2f80 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Fri, 2 May 2014 18:03:54 -0700 Subject: [PATCH] Let's try that again. --- libraries/fbx/src/FBXReader.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libraries/fbx/src/FBXReader.cpp b/libraries/fbx/src/FBXReader.cpp index f3c5133eb3..a5538f8c28 100644 --- a/libraries/fbx/src/FBXReader.cpp +++ b/libraries/fbx/src/FBXReader.cpp @@ -705,17 +705,17 @@ void appendIndex(MeshData& data, QVector& indices, int index) { if (vertexIndex < 0) { vertexIndex = -vertexIndex - 1; } - vertexIndex = qMin(vertexIndex, data.vertices.size() - 1); - Vertex vertex; vertex.originalIndex = vertexIndex; glm::vec3 normal; - if (data.normalIndices.isEmpty()) { - normal = data.normals.at(data.normalsByVertex ? vertexIndex : index); - - } else { - int normalIndex = data.normalIndices.at(data.normalsByVertex ? vertexIndex : index); + int normalIndex = data.normalsByVertex ? vertexIndex : index; + if (data.normalIndices.isEmpty()) { + if (normalIndex < data.normals.size()) { + normal = data.normals.at(normalIndex); + } + } else if (normalIndex < data.normalIndices.size()) { + normalIndex = data.normalIndices.at(normalIndex); if (normalIndex >= 0 && normalIndex < data.normals.size()) { normal = data.normals.at(normalIndex); } @@ -725,7 +725,7 @@ void appendIndex(MeshData& data, QVector& indices, int index) { if (index < data.texCoords.size()) { vertex.texCoord = data.texCoords.at(index); } - } else { + } else if (index < data.texCoordIndices.size()) { int texCoordIndex = data.texCoordIndices.at(index); if (texCoordIndex >= 0 && texCoordIndex < data.texCoords.size()) { vertex.texCoord = data.texCoords.at(texCoordIndex);