Working version of mesh decimation code which acts directly on vertex/index buffers.

Also initial work on a 'dynamic' mesh for simplification... but this probably won't be needed now.
This commit is contained in:
David Williams
2010-02-02 23:18:17 +00:00
parent 5c8dd011e7
commit 89c48cdc27
16 changed files with 1445 additions and 24 deletions

View File

@@ -64,7 +64,7 @@ namespace PolyVox
void clear(void);
const bool isEmpty(void) const;
void smoothPositions(float fAmount, bool bIncludeEdgeVertices = false);
void smoothPositions(float fAmount, bool bIncludeGeometryEdgeVertices = false);
void sumNearbyNormals(bool bNormaliseResult = true);
POLYVOX_SHARED_PTR<IndexedSurfacePatch> extractSubset(std::set<uint8_t> setMaterials);
@@ -76,6 +76,14 @@ namespace PolyVox
/*void growMaterialBoundary(void);
int countMaterialBoundary(void);*/
bool isSubset(std::bitset<4> a, std::bitset<4> b);
void decimate(float fMinDotProductForCollapse = 0.999f);
uint32_t performDecimationPass(float fMinDotProductForCollapse);
int noOfDegenerateTris(void);
void removeDegenerateTris(void);
void makeProgressiveMesh(void);
Region m_Region;