On Mon, 2012-08-27 at 21:04 +0100, Robert Osfield wrote:
> Hi Jeremy,
> 
> On 27 August 2012 17:34, Jeremy Moles <cubic...@gmail.com> wrote:
> > You can (and in fact you have to!), but it won't set the dirty flags of
> > the parent Geode, so you're forced to call dirtyBound() on it as well.
> > This can be tough to do because you need to be sure it has already
> > compiled the Paths, which is why I made the initial post.
> 
> Interesting issue...
> 
> The thing to be careful about allow a const dirtyBound() is that it
> opens the door to multi-threading issues where multiple threads could
> call dirty at one time - for instance from multiple cull traversals
> all running at the same time.  There is also the problem that calling
> dirtyBound() would force a computeBound() on the next getBound() call
> which again could present a multi-threading issue where multiple
> threads could potentially be reading and writing from the data
> structures.
> 
> Now... if the drawable can only be managed from a single context or
> from a single cull thread at one time then this multi-threading issue
> wouldn't be an issue, but it's a restriction that is very domain
> specific.
> 
> Rather than relax the core OSG for a niche case might the better
> solution just to cast away constness from your subclass with a note
> that it should just be used on single thread cull. There might be a
> better solution down the line but for now this is route I'd prefer to
> take.

I find myself 100% in agreement and shall proceed thusly! :)

> Robert.
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to