add a bool parameter to allow forced reindexation of a mesh
This commit is contained in:
parent
e008784ab6
commit
7f12ca4389
@ -46,11 +46,16 @@ class OSGUTIL_EXPORT IndexMeshVisitor : public GeometryCollector
|
||||
{
|
||||
public:
|
||||
IndexMeshVisitor(Optimizer* optimizer = 0)
|
||||
: GeometryCollector(optimizer, Optimizer::INDEX_MESH)
|
||||
: GeometryCollector(optimizer, Optimizer::INDEX_MESH), _isForcedReindexationEnable(false)
|
||||
{
|
||||
}
|
||||
inline void setGenerateNewIndicesOnAllGeometries(bool b) { _isForcedReindexationEnable = b; }
|
||||
inline bool getGenerateNewIndicesOnAllGeometries() const { return _isForcedReindexationEnable; }
|
||||
|
||||
void makeMesh(osg::Geometry& geom);
|
||||
void makeMesh();
|
||||
protected:
|
||||
bool _isForcedReindexationEnable;
|
||||
};
|
||||
|
||||
// Optimize the triangle order in a mesh for best use of the GPU's
|
||||
|
@ -262,7 +262,7 @@ void IndexMeshVisitor::makeMesh(Geometry& geom)
|
||||
}
|
||||
|
||||
// nothing to index
|
||||
if (!numSurfacePrimitives || !numNonIndexedPrimitives) return;
|
||||
if (!numSurfacePrimitives || (!_isForcedReindexationEnable && !numNonIndexedPrimitives)) return;
|
||||
|
||||
// duplicate shared arrays as it isn't safe to rearrange vertices when arrays are shared.
|
||||
if (geom.containsSharedArrays()) geom.duplicateSharedArrays();
|
||||
|
Loading…
Reference in New Issue
Block a user