<div dir="ltr"><div>Hi Greg,</div><div><br></div><div>Today I worked on improving the ObectCache::releaseGLObjects() implementation so that it removes objects in the scene that are Texture or contain Textures in their subgraph, where the Texture no longer have any associated osg::Image. I believe this resolves the usage case :</div><div><br></div><div>  1.  Load the scene graph, with the Texture UnRefImageAfterApply setiings are set to UnrefImageAfterApply, with the loaded textures/scene graphs being cached in the osgDB::ObjectCache.<br></div><div>  2. Render the scene graph, resulting the in the scene graph images being unref'd from their Textures.</div><div>  3. Close the Window, which cleans up the scene graph GL obects by calling releaseGLObjects()</div><div>  4. Load a new scene graph with textures/objects loaded from disk and where possible from the ObjectCache if previously loaded and cache,  Got back to 2. (Rendering etc.)<br></div><div><br></div><div>I created an example that follows all these steps and it reproduced the problem with the textures appearing black on the second time around when loading an OpenFlight database.  With the fixes to ObjectCache::releaseGLObjects() the unref'd images are automatically removed from the cache as part of step 3. above, so that they aren't shared any more, instead new copies are loaded from disk with their image in place.</div><div><br></div><div>This fix is checked into the OpenSceneGraph-3.6 branch.  The commit is:</div><div><br></div><div>    https://github.com/openscenegraph/OpenSceneGraph/commit/9ae47b921b2184788e6efe85692908bd0ba900a2</div><div><br></div><div>Could you please test this out.  You should be able to remove your own manually clearing of the ObjectCache now, as it will be done automatically when required.</div><div><br></div><div>Cheers,</div><div>Robert.</div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups "OpenSceneGraph Users" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:osg-users+unsubscribe@googlegroups.com">osg-users+unsubscribe@googlegroups.com</a>.<br />
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/osg-users/f779a1bf-e231-4317-8600-565dca7f4670%40googlegroups.com?utm_medium=email&utm_source=footer">https://groups.google.com/d/msgid/osg-users/f779a1bf-e231-4317-8600-565dca7f4670%40googlegroups.com</a>.<br />