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