Drastically reduced memory usage.

This commit is contained in:
David Williams
2008-02-12 19:32:56 +00:00
parent abb3def1e7
commit 66cc4a5eab
4 changed files with 29 additions and 1 deletions

View File

@ -7,6 +7,7 @@ namespace PolyVox
long int IndexedSurfacePatch::noOfVerticesSubmitted = 0;
long int IndexedSurfacePatch::noOfVerticesAccepted = 0;
long int IndexedSurfacePatch::noOfTrianglesSubmitted = 0;
long int IndexedSurfacePatch::vertexIndices[POLYVOX_REGION_SIDE_LENGTH*2+1][POLYVOX_REGION_SIDE_LENGTH*2+1][POLYVOX_REGION_SIDE_LENGTH*2+1];
IndexedSurfacePatch::IndexedSurfacePatch(bool allowDuplicateVertices)
:m_AllowDuplicateVertices(allowDuplicateVertices)
@ -93,4 +94,12 @@ namespace PolyVox
vecIndices.push_back(iterVertex - vecVertices.begin());
}*/
}
long int IndexedSurfacePatch::getSizeInBytes(void)
{
long int size = sizeof(IndexedSurfacePatch);
size += m_vecVertices.capacity() * sizeof(m_vecVertices[0]);
size += m_vecTriangleIndices.capacity() * sizeof(m_vecTriangleIndices[0]);
return size;
}
}

View File

@ -49,10 +49,13 @@ namespace PolyVox
//Regenerate meshes.
for(uint16_t regionZ = 0; regionZ < POLYVOX_VOLUME_SIDE_LENGTH_IN_REGIONS; ++regionZ)
//for(uint16_t regionZ = 6; regionZ < 7; ++regionZ)
{
for(uint16_t regionY = 0; regionY < POLYVOX_VOLUME_SIDE_LENGTH_IN_REGIONS; ++regionY)
//for(uint16_t regionY = POLYVOX_VOLUME_SIDE_LENGTH_IN_REGIONS/2; regionY < POLYVOX_VOLUME_SIDE_LENGTH_IN_REGIONS/2+1; ++regionY)
{
for(uint16_t regionX = 0; regionX < POLYVOX_VOLUME_SIDE_LENGTH_IN_REGIONS; ++regionX)
//for(uint16_t regionX = POLYVOX_VOLUME_SIDE_LENGTH_IN_REGIONS/2; regionX < POLYVOX_VOLUME_SIDE_LENGTH_IN_REGIONS/2+1; ++regionX)
{
if(surfaceUpToDate[regionX][regionY][regionZ] == false)
{