//--------------------------------------------------------------------- void TerrainQuadTreeNode::unload() { if (!isLeaf()) for (int i = 0; i < 4; ++i) mChildren[i]->unload(); destroyGpuVertexData(); SAFE_DELETE(mEntity); }
//------------------------------------------------------------------------ void TerrainBatch::unLoad() { if ( mIsLoaded == true ) { unLoadRenderableObject(); unLoadChilds(); destroyGpuVertexData(); destroyGpuIndexData(); mIsLoaded = false; } }
void TerrainQuadTreeNode::unload(uint16 treeDepthStart, uint16 treeDepthEnd) { if (mDepth >= treeDepthEnd) return ; if (!isLeaf()) for (int i = 0; i < 4; ++i) mChildren[i]->unload(treeDepthStart, treeDepthEnd); if (mDepth >= treeDepthStart && mDepth < treeDepthEnd) { destroyGpuVertexData(); } }
//--------------------------------------------------------------------- TerrainQuadTreeNode::~TerrainQuadTreeNode() { for (int i = 0; i < 4; ++i) delete mChildren[i]; destroyCpuVertexData(); destroyGpuVertexData(); destroyGpuIndexData(); for (LodLevelList::iterator i = mLodLevels.begin(); i != mLodLevels.end(); ++i) delete *i; delete mVertexDataRecord; }