Hi Robert,

I have fallen to the same problem as Remi.
I want to update scene graph before each frame for the purpose of, say, 
updating uniforms or reaiming camera of shadow map to best fit with the view 
frustum. I do not want to trigger another screen update. I just want to update 
things before rendering. Camera does not need to be reaimed until there is 
redraw request. What is the best place to do that?

I guess that it is the question that Remi and me have in mind.

Are cull callbacks good for such kind of stuff?

John


On Monday 27 of January 2014 14:25:26 Robert Osfield wrote:
> HI Remi,
> 
> The diff's don't help do a review as they aren't properly in context, the
> only way for me to do that would be to apply them, but I ain't going to
> apply something unless I know it's sound.
> 
> A quick look at the diff's, even without the full context of the code
> around it, strikes me like it's introducing a bug.
> 
> When you add a update callback to the scene graph the scene graph has to
> assume that it needs to be called on every frame and will update the scene
> graph and re-render so you can see the end result - for instance if you
> have a update callback animating an object in the scene, you won't ever see
> it updating if your do dispatch another full frame.
> 
> Now, if you don't feel this is appropriate behaviour for your particular
> application then fine, but it really is your particular application and
> that is is exactly where the changes should be made.  It's dead simply to
> subclass from osgViewer::Viewer and CompositeViewer to provide custom
> behaviours, and in your own application you don't have even call the OSG's
> viewer::run() method that contains the ON_DEMAND code, you can do your own
> frame loop and manage it exactly how you see fit.
> 
> Robert.
> 
> Robert.
> 
> Robert.
> 
> On 27 January 2014 12:43, Rémi Thebault <[email protected]> wrote:
> > Hi Robert
> > 
> > Experiencing around OSG, I found out that the update callback gets called
> > continously even when the Viewer's FrameScheme is ON_DEMAND.
> > 
> > In case that this behaviour is not the expected one, I propose here a
> > (very) simple fix that tests _runFrameScheme in
> > Viewer::checkNeedToDoFrame() (and same for CompositeViewer)
> > 
> > If relevant, I'm using a single threaded OSG scene within a Qt5
> > application.
> > I can't tell if this would break existing code.
> > Please let me know what you think !
> > 
> > Cheers,
> > Rémi
> > 
> > _______________________________________________
> > osg-submissions mailing list
> > [email protected]
> > 
> > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegrap
> > h.org
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to