Added State::releaseGLObjects() and ShaderComposer::releaseGLObjects() to avoid problems with cleanup of graphics context

This commit is contained in:
Robert Osfield
2013-10-21 16:35:12 +00:00
parent 074eb8e41c
commit 4493d11ca3
5 changed files with 67 additions and 4 deletions

View File

@@ -37,6 +37,12 @@ ShaderComposer::~ShaderComposer()
OSG_INFO<<"ShaderComposer::~ShaderComposer() "<<this<<std::endl;
}
void ShaderComposer::releaseGLObjects(osg::State* state)
{
_programMap.clear();
_shaderMainMap.clear();
}
osg::Program* ShaderComposer::getOrCreateProgram(const ShaderComponents& shaderComponents)
{
ProgramMap::iterator itr = _programMap.find(shaderComponents);