Work on mesh decimation.

This commit is contained in:
David Williams 2007-09-18 16:05:24 +00:00
parent 336eba9680
commit 487962ad31
2 changed files with 13 additions and 5 deletions

View File

@ -1010,12 +1010,12 @@ namespace Ogre
iterPatch->second.computeNormalsFromVolume(volIter);
iterPatch->second.endDefinition();
bool removedVertex = false;
for(uint ct = 0; ct < 10; ct++)
//do
//for(uint ct = 0; ct < 10; ct++)
do
{
removedVertex = iterPatch->second.decimate3();
}
//while(removedVertex);
while(removedVertex);
}
//LogManager::getSingleton().logMessage("Finished Generating Mesh Data");

View File

@ -47,7 +47,7 @@ namespace Ogre
void SurfacePatch::addTriangle(const SurfaceVertex& v0,const SurfaceVertex& v1,const SurfaceVertex& v2)
{
if(v0.position.x > 8)
/*if(v0.position.x > 8)
return;
if(v0.position.y > 8)
return;
@ -58,7 +58,7 @@ namespace Ogre
if(v2.position.x > 8)
return;
if(v2.position.y > 8)
return;
return;*/
//if(m_uTrianglesAdded > 1) return;
@ -501,6 +501,10 @@ namespace Ogre
(*secondEdgeIter)->triangle = iterTriangle;
newEdgeIter->triangle = iterTriangle;
lastAddedEdge->hasTriangle = true;
(*secondEdgeIter)->hasTriangle = true;
newEdgeIter->hasTriangle = true;
//++firstEdgeIter;
++secondEdgeIter;
lastAddedEdge = otherNewEdgeIter;
@ -524,6 +528,10 @@ namespace Ogre
lastAddedEdge->triangle = iterTriangle;
(*secondEdgeIter)->triangle = iterTriangle;
(*endEdgeIter)->triangle = iterTriangle;
lastAddedEdge->hasTriangle = true;
(*secondEdgeIter)->hasTriangle = true;
(*endEdgeIter)->hasTriangle = true;
}
didDecimation = true;
break;