C3DMesh::~C3DMesh() { delete [] m_pMaterials; if( m_pTextures ) { for( DWORD i = 0; i < m_dwNumMaterials; ++i ) GXRELEASE( m_pTextures[i] ); delete [] m_pTextures; } // GXRELEASE(pMesh); // GXRELEASE(pMeshHW); // GXRELEASE(pMeshSW); // delete [] szName; // delete pmcNext; }
//----------------------------------------------------------------------------- // Name: ReleaseDeviceDependentMeshes() // Desc: //----------------------------------------------------------------------------- void ReleaseDeviceDependentMeshes(SFrame* pframe) { if (pframe->pmcMesh != NULL) { for (SMeshContainer* pmcCurr = pframe->pmcMesh; pmcCurr != NULL; pmcCurr = pmcCurr->pmcNext) { if (pmcCurr->m_pSkinMesh != NULL) { GXRELEASE(pmcCurr->pMesh); pmcCurr->m_Method = NONE; } } } if (pframe->pframeFirstChild != NULL) ReleaseDeviceDependentMeshes(pframe->pframeFirstChild); if (pframe->pframeSibling != NULL) ReleaseDeviceDependentMeshes(pframe->pframeSibling); }