<div dir="ltr">Hello Robert, <div><br></div><div>thank you very much for the detailed answer. I implemented an app based on Qt. My draw/frame events are only called when the user makes some action (e.g. Mouse Click, Mouse Move). Is there a way I could bypass this and use the <span style="font-size:13px">osgViewer:::ViewerBase::ON_</span><wbr style="font-size:13px"><span style="font-size:13px">DEMAND option?</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-09-10 17:36 GMT+01:00 Robert Osfield <span dir="ltr"><<a href="mailto:robert.osfield@gmail.com" target="_blank">robert.osfield@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Bruno,<br>
<br>
You could possible use the ReadFileCllback for this purpose.  Have a<br>
look through the archives for discussions on the different ways that<br>
ReadFileCallback can be used.<br>
<br>
However, I have to add the the DatabasePager is designed to dispatch<br>
compile operations to the draw traversal to compile the newly loaded<br>
subgraphs incrementally during each frame.  A newly loaded subgraph<br>
isn't merged until all the GL objects in that subgraph have been<br>
compiled.  This means you can't just switch off doing the rendering<br>
loop and wait for things to load and just render one frame and expect<br>
everything to merge right away.  This incremental compilation exists<br>
to avoid frame drops.<br>
<br>
One way around this pre compilation would be to simply switch off pre<br>
compilation of subgraphs, this would be new subgraphs are merged in<br>
the frame right after it has been loaded. However, this approach<br>
increases the changes of a frame drop as the new data is rendered for<br>
the first time.<br>
<br>
There is support built into lazy update of the scene via the<br>
osgViewer::ViewerBase::<wbr>setRunFrameScheme(...) support for the the<br>
osgViewer:::ViewerBase::ON_<wbr>DEMAND option.  When this is set and you<br>
use the Viewer::run() method the viewer will automatically only call<br>
frame when events have happened, there are animations running or the<br>
database requires a new frame to be done (including for the<br>
incremental compilation.)   You could have a look at how this is<br>
implemented if you want to do something similar, or just use it<br>
directly.<br>
<br>
Robert.<br>
<br>
On 10 September 2016 at 09:56, Bruno Oliveira<br>
<div><div class="h5"><<a href="mailto:bruno.manata.oliveira@gmail.com">bruno.manata.oliveira@gmail.<wbr>com</a>> wrote:<br>
> Hello,<br>
><br>
><br>
> I am using a PagedLOD engine, but I need to call some function I have every<br>
> time the PagedLOD finished reading a Node and it is ready for rendering.<br>
> This function I want to call is intended to trigger a draw/refresh action in<br>
> my viewer, but I think this could be any function at all.<br>
><br>
><br>
> How do I do that?<br>
><br>
> Thank you<br>
><br>
</div></div>> ______________________________<wbr>_________________<br>
> osg-users mailing list<br>
> <a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.<wbr>openscenegraph.org</a><br>
> <a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.<wbr>org/listinfo.cgi/osg-users-<wbr>openscenegraph.org</a><br>
><br>
______________________________<wbr>_________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.<wbr>openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.<wbr>org/listinfo.cgi/osg-users-<wbr>openscenegraph.org</a><br>
</blockquote></div><br></div>