From 840ae915e96195d8d583f777c0dba3f56d12115e Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Tue, 12 Oct 2004 09:00:51 +0000 Subject: [PATCH] Added a direct call to the osgUtil::Optimizer in GeoSetBuilder.cpp so that the resultant geomety would be more efficiently packed. --- src/osgPlugins/flt/GeoSetBuilder.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/osgPlugins/flt/GeoSetBuilder.cpp b/src/osgPlugins/flt/GeoSetBuilder.cpp index 74bd0b045..8775cf4b3 100644 --- a/src/osgPlugins/flt/GeoSetBuilder.cpp +++ b/src/osgPlugins/flt/GeoSetBuilder.cpp @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include @@ -317,17 +317,11 @@ osg::Geode* GeoSetBuilder::createOsgGeoSets(osg::Geode* geode) assert( stateset == geom->getStateSet() ); } - osgUtil::Tesselator tesselator; - for(unsigned int i=0;igetNumDrawables();++i) - { - osg::Geometry* geom = dynamic_cast(geode->getDrawable(i)); - if (geom) - { - geom->computeCorrectBindingsAndArraySizes(); - tesselator.retesselatePolygons(*geom); - } - } - + osgUtil::Optimizer optimizer; + optimizer.optimize(geode, osgUtil::Optimizer::SHARE_DUPLICATE_STATE | + osgUtil::Optimizer::MERGE_GEOMETRY | + osgUtil::Optimizer::CHECK_GEOMETRY | + osgUtil::Optimizer::TESSELATE_GEOMETRY); return geode; }