From cc9379b42a8c9a13699829a5222ab3a8733f009c Mon Sep 17 00:00:00 2001 From: "Sha..om" Date: Mon, 28 Jan 2013 01:50:43 +0000 Subject: [PATCH] * Check to ensure all buffers have the same number of components when merging. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10214 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../src/tools/jme3tools/optimize/GeometryBatchFactory.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engine/src/tools/jme3tools/optimize/GeometryBatchFactory.java b/engine/src/tools/jme3tools/optimize/GeometryBatchFactory.java index ef9f2bbbc..6b4c5c648 100644 --- a/engine/src/tools/jme3tools/optimize/GeometryBatchFactory.java +++ b/engine/src/tools/jme3tools/optimize/GeometryBatchFactory.java @@ -131,6 +131,12 @@ public class GeometryBatchFactory { } for (VertexBuffer vb : geom.getMesh().getBufferList().getArray()) { + int currentCompsForBuf = compsForBuf[vb.getBufferType().ordinal()]; + if (currentCompsForBuf != 0 && currentCompsForBuf != vb.getNumComponents()) { + throw new UnsupportedOperationException("The geometry " + geom + " buffer " + vb.getBufferType() + + " has different number of components than the rest of the meshes " + + "(this: " + vb.getNumComponents() + ", expected: " + currentCompsForBuf + ")"); + } compsForBuf[vb.getBufferType().ordinal()] = vb.getNumComponents(); formatForBuf[vb.getBufferType().ordinal()] = vb.getFormat(); }