* Fix GBF crash when merging with blender models (since they have index component count = 1)

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10306 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
sha..RD 12 years ago
parent 322368ae79
commit c994965510
  1. 10
      engine/src/tools/jme3tools/optimize/GeometryBatchFactory.java

@ -132,11 +132,11 @@ public class GeometryBatchFactory {
for (VertexBuffer vb : geom.getMesh().getBufferList().getArray()) { for (VertexBuffer vb : geom.getMesh().getBufferList().getArray()) {
int currentCompsForBuf = compsForBuf[vb.getBufferType().ordinal()]; int currentCompsForBuf = compsForBuf[vb.getBufferType().ordinal()];
if (currentCompsForBuf != 0 && currentCompsForBuf != vb.getNumComponents()) { if (vb.getBufferType() != Type.Index && currentCompsForBuf != 0 && currentCompsForBuf != vb.getNumComponents()) {
throw new UnsupportedOperationException("The geometry " + geom + " buffer " + vb.getBufferType() + throw new UnsupportedOperationException("The geometry " + geom + " buffer " + vb.getBufferType()
" has different number of components than the rest of the meshes " + + " has different number of components than the rest of the meshes "
"(this: " + vb.getNumComponents() + ", expected: " + currentCompsForBuf + ")"); + "(this: " + vb.getNumComponents() + ", expected: " + currentCompsForBuf + ")");
} }
compsForBuf[vb.getBufferType().ordinal()] = vb.getNumComponents(); compsForBuf[vb.getBufferType().ordinal()] = vb.getNumComponents();
formatForBuf[vb.getBufferType().ordinal()] = vb.getFormat(); formatForBuf[vb.getBufferType().ordinal()] = vb.getFormat();
} }

Loading…
Cancel
Save