From 971eba37add66f7d74cab2d4c6e835e232fc3ec3 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 20 Feb 2019 16:31:58 +0000 Subject: [PATCH] Added override for broken bindings --- src/osgUtil/MeshOptimizers.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/osgUtil/MeshOptimizers.cpp b/src/osgUtil/MeshOptimizers.cpp index a21076a9f..f337fc436 100644 --- a/src/osgUtil/MeshOptimizers.cpp +++ b/src/osgUtil/MeshOptimizers.cpp @@ -56,7 +56,7 @@ struct GeometryArrayGatherer GeometryArrayGatherer(osg::Geometry& geometry) { - add(geometry.getVertexArray()); + add(geometry.getVertexArray(), osg::Array::BIND_PER_VERTEX); add(geometry.getNormalArray()); add(geometry.getColorArray()); add(geometry.getSecondaryColorArray()); @@ -64,7 +64,7 @@ struct GeometryArrayGatherer unsigned int i; for(i=0;igetBinding()==osg::Array::BIND_PER_VERTEX) + if (!array) return; + + if (overrideBinding!=osg::Array::BIND_UNDEFINED && array->getBinding()!=overrideBinding) + { + array->setBinding(overrideBinding); + } + + if (array->getBinding()==osg::Array::BIND_PER_VERTEX) { _arrayList.push_back(array); }