diff --git a/source/model/modelfinalization.js b/source/model/modelfinalization.js index bbea60f..0760044 100644 --- a/source/model/modelfinalization.js +++ b/source/model/modelfinalization.js @@ -195,6 +195,17 @@ OV.CheckModel = function (model) if (!IsCorrectIndex (triangle.v2, mesh.VertexCount ())) { return false; } + if (triangle.HasVertexColors ()) { + if (!IsCorrectIndex (triangle.c0, mesh.VertexColorCount ())) { + return false; + } + if (!IsCorrectIndex (triangle.c1, mesh.VertexColorCount ())) { + return false; + } + if (!IsCorrectIndex (triangle.c2, mesh.VertexColorCount ())) { + return false; + } + } if (!IsCorrectIndex (triangle.n0, mesh.NormalCount ())) { return false; } diff --git a/test/tests/mesh_test.js b/test/tests/mesh_test.js index aad621d..fbfba9b 100644 --- a/test/tests/mesh_test.js +++ b/test/tests/mesh_test.js @@ -59,8 +59,12 @@ describe ('Mesh', function() { assert.strictEqual (triangle.v1, 2); assert.strictEqual (triangle.v2, 3); assert (triangle.HasVertices ()); + assert (!triangle.HasVertexColors ()); assert (!triangle.HasNormals ()); assert (!triangle.HasTextureUVs ()); + assert.strictEqual (triangle.c0, null); + assert.strictEqual (triangle.c1, null); + assert.strictEqual (triangle.c2, null); assert.strictEqual (triangle.n0, null); assert.strictEqual (triangle.n1, null); assert.strictEqual (triangle.n2, null);