Operating System: Win 10 x64
Render System: DX11
I try to migrate my application from Ogre 1.11.5 with DX9 to v1.12.0 with DX11 renderer with the help of RTSS.
Rendering works fine, but when closing the application I get an assert from D3D11DeviceResourceManager that the resources are not empty.
At first: this necer happend before with ogre 1.11.5 and DX 9 renderer.
Second: when looking into the debugger the tells me that a texture I created manually wasn't released.
Before destroying the ogre root, I reset the smart pointer, the resource group is also unloaded. The rectangle which uses the texture is also remove from the scene graph (and the scene graph is also deleting all it's children when it is destructed) So I don't understand why the texture resource is still there.
code for texture creation
Code: Select all
m_videoTexture = Ogre::TextureManager::getSingleton().load(castWStringToString(textureFile), ArGraphic::getARViewerResourceGroup()); m_material->getTechnique(0)->getPass(0)->createTextureUnitState(m_videoTexture->getName()); m_rectangle->setMaterial(m_material);
So my first question: what is the right method to remove a manual object proper when closing the application and what is done automatically in teh destructors of the managers etc.
And second: does anyone else have problems like this and perhaps some hints/suggestions how to deal with this problem?