HI Paul, If you have just a single uniform value per context then I'd simply place the Uniform on the each if the viiewer's osg::Camera's StateSet, such that each Camera assigned to each Context gets it's own state inherited down including the Uniform.
If you want to put a vector of Uniform in the scene graph, then It would probably be most robust to use a custom osg::Group node that manages the cull traversal where it push/pops the approach Unifiorm as well as any resizeGLObjectBuffers/releaseGLObjects etc. The key to doing it thread safe is to make sure you have allocated the vector to the required number of contexts prior to traversal - this is what the resizeGLObjectsBuffers() helps with. Robert. On 23 October 2013 17:38, Paul Martz <[email protected]> wrote: > Hi all -- I've been inactive with OSG lately, but from time to time get > called back. Given my lack of recent experience, I would appreciate your > help with this issue. > > I have a multicontext/multidisplay app that needs to compute a uniform > during cull, and it will have a different value for each context/display. > Computing the uniform value is straightforward, but actually executing the > uniform per-context during draw is somewhat difficult. > > I can't simply store the uniform in the Node's StateSet, for example, > because doing that during cull is not thread safe. > > Ideally I would store the uniform in a vector indexed by context ID, but I > don't have a context ID during cull. > > Would it be feasible to store the uniforms in a map indexed by RenderStage > address, then execute the uniforms from a Camera per-draw callback? > > Assuming I use a per-context or per-RenderStage container to store the > uniforms, how do I initially grow that container in a thread-safe way > during the first frame? > > What are other people doing in this situation? Thanks in advance for the > advice. > > -- > Paul Martz > Skew Matrix Software LLC > > _______________________________________________ > 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

