//----------------------------------------------------------------------------------- ShaderManager::~ShaderManager() { delete mShaderPiecesManager; mShaderPiecesManager = NULL; ShaderCacheMap::iterator it = mShaderCache.begin(); ShaderCacheMap::iterator endIt = mShaderCache.end(); for (; it != endIt; ++it) { GpuProgramPtr gpuPrg = it->second; HighLevelGpuProgramManager::getSingleton().unload(gpuPrg->getName()); HighLevelGpuProgramManager::getSingleton().remove(gpuPrg->getName()); gpuPrg.setNull(); } mShaderCache.clear(); }