//------------------------------------------------------------------------ void TerrainBatch::createGpuIndexData() { destroyGpuIndexData(); if ( !mGpuIndexData ) { // clone, using default buffer manager ie hardware mGpuIndexData = MG_NEW IndexData(); populateIndexData(); } }
//------------------------------------------------------------------------ void TerrainBatch::unLoad() { if ( mIsLoaded == true ) { unLoadRenderableObject(); unLoadChilds(); destroyGpuVertexData(); destroyGpuIndexData(); mIsLoaded = false; } }
//--------------------------------------------------------------------- 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; }