HI Chris, I am afraid I don't have the time to trying and work out what exactly you are doing and how to fix it. You are almost certainly tackling things in the wrong so rather than fix working in a broken way time for us all would be better spent taking a step back.
What stands out is that you are doing stuff that is probably not the best way to do it. To find out the best way it would be better to explain what you are tying to do with your application w.r.t views, graphics contexts, threads, scenes and then let us suggest what to do. Robert. On 11 September 2013 17:01, Chris Stankevitz <[email protected]>wrote: > Robert, > > Thank you for your reply. > > On Wed, Sep 11, 2013 at 8:27 AM, Robert Osfield > <[email protected]> wrote: > > Normally one should ever need to worry about constructing or destructing > the > > DatabasePager > > Thank you. My preference is to never think about the DatabasePager. > Since I use multiple views, at a minimum I must be concerned with a > function called DatabasePager::setUnrefImageDataAfterApplyPolicy. > > > osgViewer::Scene is used internally by osgViewer to manage one > DatabasePager > > per scene graph. The Scene object will be shared automatically between > > Views if you assign the same Node pointer hen you call > View::setSceneData. > > This sharing is done automatically for you. When a Scene object is > > destructed it's DatabasePager will be destructed if no other references > to > > it exist. > > Is this a correct understanding: > > If I am running a scene with 2 viewers, and I remove both of those > viewers but not the scene, then the DatabasePager is destroyed. Then, > if I later add attach the scene to a new viewer, the DatabasePager is > re-created. All this happens behind the scenes and I need not be > worried about it. > > > If you have multiple Views that you should be using CompositeViewer, not > > multiple Viewer. > > Thank you. You're the second person to mention this to me today so it > must be true! However, please consider: > > 1. Inexplicably when I render my scene with a CompositeViewer, adding > and removing views during runtime, my renderings turn "purple". By > "purple" i mean that none of my objects are rendered! (osgEarth > terrain and imagery). What's more (and you might not believe me on > this point): when I use multiple viewers on the same graph (without > using CompositeViewer) then I do not suffer this problem! > > 2. I can understand if nobody wants to provide an answer to this > question, but I'd like to know: What are the repercussions of running > multiple viewers on one scene when the "correct" approach is to run a > single CompositeViewer w/multiple views on one scene? > > > If you are creating and destroying views regularly then you are probably > > best to enable/disable them by setting the View's master Camera's > NodeMask > > to 0x0 and back to 0xffffffff, as this will switch off rendering but keep > > the backend around ready to be re-enabled. > > I understand. While not impossible, a design such as this will > require a re-architecting of my code as at present I have no idea how > many viewers, if any, will want to look at my scene. > > Thank you for your help, I appreciate learning about these technical > under-the-hood aspects (vs just "here's what you need to type to get > it to work"), > > Chris > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

