From Jason Beverage, added option to control whether simplification of
tiles is done during osgdem builds.
This commit is contained in:
@@ -3023,14 +3023,15 @@ osg::Node* DataSet::DestinationTile::createPolygonal()
|
||||
osgDB::writeNodeFile(*geode,"NodeBeforeSimplification.osg");
|
||||
}
|
||||
|
||||
#if 1
|
||||
unsigned int targetMaxNumVertices = 2048;
|
||||
float sample_ratio = (numVertices <= targetMaxNumVertices) ? 1.0f : (float)targetMaxNumVertices/(float)numVertices;
|
||||
if (_dataSet->getSimplifyTerrain())
|
||||
{
|
||||
unsigned int targetMaxNumVertices = 2048;
|
||||
float sample_ratio = (numVertices <= targetMaxNumVertices) ? 1.0f : (float)targetMaxNumVertices/(float)numVertices;
|
||||
|
||||
osgUtil::Simplifier simplifier(sample_ratio,geometry->getBound().radius()/2000.0f);
|
||||
osgUtil::Simplifier simplifier(sample_ratio,geometry->getBound().radius()/2000.0f);
|
||||
|
||||
simplifier.simplify(*geometry, pointsToProtectDuringSimplification); // this will replace the normal vector with a new one
|
||||
#endif
|
||||
simplifier.simplify(*geometry, pointsToProtectDuringSimplification); // this will replace the normal vector with a new one
|
||||
}
|
||||
|
||||
osgUtil::TriStripVisitor tsv;
|
||||
tsv.setMinStripSize(3);
|
||||
@@ -3743,6 +3744,8 @@ DataSet::DataSet()
|
||||
|
||||
_writeNodeBeforeSimplification = false;
|
||||
|
||||
_simplifyTerrain = true;
|
||||
|
||||
setEllipsoidModel(new osg::EllipsoidModel());
|
||||
}
|
||||
|
||||
|
||||
@@ -128,6 +128,8 @@ BEGIN_OBJECT_REFLECTOR(osgTerrain::DataSet)
|
||||
I_Method0(osgTerrain::DataSet::MipMappingMode, getMipMappingMode);
|
||||
I_Method1(void, setUseLocalTileTransform, IN, bool, flag);
|
||||
I_Method0(bool, getUseLocalTileTransform);
|
||||
I_Method1(void, setSimplifyTerrain, IN, bool, flag);
|
||||
I_Method0(bool, getSimplifyTerrain);
|
||||
I_Method1(void, setDecorateGeneratedSceneGraphWithCoordinateSystemNode, IN, bool, flag);
|
||||
I_Method0(bool, getDecorateGeneratedSceneGraphWithCoordinateSystemNode);
|
||||
I_Method1(void, setDecorateGeneratedSceneGraphWithMultiTextureControl, IN, bool, flag);
|
||||
@@ -175,6 +177,7 @@ BEGIN_OBJECT_REFLECTOR(osgTerrain::DataSet)
|
||||
I_Property(float, MaximumVisibleDistanceOfTopLevel);
|
||||
I_Property(osgTerrain::DataSet::MipMappingMode, MipMappingMode);
|
||||
I_Property(float, RadiusToMaxVisibleDistanceRatio);
|
||||
I_Property(bool, SimplifyTerrain);
|
||||
I_Property(float, SkirtRatio);
|
||||
I_Property(osg::State *, State);
|
||||
I_Property(osgTerrain::DataSet::TextureType, TextureType);
|
||||
|
||||
Reference in New Issue
Block a user