diff --git a/src/osgUtil/MeshOptimizers.cpp b/src/osgUtil/MeshOptimizers.cpp index 250f339e8..e157df720 100644 --- a/src/osgUtil/MeshOptimizers.cpp +++ b/src/osgUtil/MeshOptimizers.cpp @@ -975,7 +975,7 @@ struct CacheRecorder : public TriangleIndexFunctor void VertexCacheMissVisitor::doGeometry(Geometry& geom) { Array* vertArray = geom.getVertexArray(); - if (!vertArray) + if (!vertArray || vertArray->getNumElements()==0) return; Geometry::PrimitiveSetList& primSets = geom.getPrimitiveSetList(); CacheRecorder recorder(_cacheSize); @@ -1117,7 +1117,7 @@ inline void reorderDrawElements(DE& drawElements, void VertexAccessOrderVisitor::optimizeOrder(Geometry& geom) { Array* vertArray = geom.getVertexArray(); - if (!vertArray) + if (!vertArray || vertArray->getNumElements()==0) return; Geometry::PrimitiveSetList& primSets = geom.getPrimitiveSetList(); VertexReorder vr(vertArray->getNumElements());