[osg-users] Function collaboration multi-threaded databasepager
Lambert Verhagen
l.verhagen at marin.nl
Wed Sep 5 03:10:00 PDT 2007
Hi Robert,
Thanks again for your reply.
I have been browsing the databasepager code and how it interacts with a
plugin. Do I understand it correctly if I say: ?????
The scenegraph on the simulation loop is pulling the data via the
database pager from a plugin. The scenegraph request the database pager
for new data (graph nodes).
But what if I want the plugin to push the data to the simulation loop?
How do I do that? Does the databasepager support that?
Regards,
Lambert.
On Mon, 2007-09-03 at 13:46 +0100, Robert Osfield wrote:
> Hi Lambert,
>
> The existing DatabasePager functionality can page over the network,
> but this isn't an issue for the DatabasePager - its purely a function
> of the net plugin that does the loading across the http. This means
> paging and reading across the network are completely orthogonal and
> can be mixed and matched at will.
>
> The Viewers already have support for adding and remove subgraphs from
> the main scene graph via the DatabasePager. You needn't add your own
> code as long as the database is set in a way that utilises
> DatabasePager.
>
> You can write your own DatabasePager functionality, but it its likely
> to be alot less work just to use the built in paging support, this way
> the task for you is just how to build you database. Teaching you how
> to reimplement existing functionality really is way beyond the level
> of support I can provide for free.
>
> Robert.
>
> On 9/3/07, Lambert Verhagen <l.verhagen at marin.nl> wrote:
> > Hi Robert,
> >
> > Thank you for the quick response.
> >
> > I don't understand it completely. Must be me not questioning right ;-).
> >
> > What I want to develop is an application that:
> > 1) reads data that may contain from scene data like new nodes that are
> > moving (AddNode). This data feed may also result in a removeNode (since
> > another application may have decided to remove it from the scene. The
> > scene graph is constantly, dynamically changed.
> > 2) has an Update-Cull-draw pipe, that runs synchronous (real-time) and
> > in the update step reads data from the graph that is dynamically changed
> > by step 1.
> >
> > For this I thought I need an a-synchronous database thread that read
> > data from the network (other application) and fills the database at
> > low(er) frequency. And I also need a fast synchronous thread that reads
> > data from the database (this must be quick, so probably I need
> > references to the database scene graph nodes).
> >
> > The applications like Viewer en CompositeViewer perform updates to the
> > scene graph via NodeCallbacks that are called from the same thread as
> > the update-cull-draw thread is running. Isn't it????
> >
> > Hope you can me further.
> >
> > Regards,
> > Lambert
> >
> > On Mon, 2007-09-03 at 09:52 +0100, Robert Osfield wrote:
> > > Hi Lambert,
> > >
> > > The OSG has the osgDB::DatabasePager which sole purpose is to do
> > > multi-threaded paging of databases. The osgViewer::Viewer and
> > > CompositeViewer both support it out of the box, as did
> > > osgProducer::Viewer before it. There is nothing you need to do in
> > > your app other than load a paged database. Paged dabases in the OSG
> > > are ones that contain osg::PagedLOD node or loaded via the TXP plugin.
> > >
> > > Robert.
> > >
> > > On 9/3/07, Lambert Verhagen <l.verhagen at marin.nl> wrote:
> > > > Hi,
> > > >
> > > > I investigating the usage of openscenegraph for one of our application.
> > > > I want to run this application using 1 thread for the update-cull-draw
> > > > pipe. And another thread, that runs on the background with lower
> > > > priority, that receives data from some external network and updates the
> > > > graph.
> > > >
> > > > I can not exactly find a sample application using this multi threaded
> > > > approach. But the function interface of databasepager suggests that this
> > > > is supported. Can someone give me a clue?
> > > > I also want to know the function collaboration between the view,
> > > > updateVisitor, node and dataBasePager classes.
> > > >
> > > > Hope you can help me?
> > > > Thanks in advance.
> > > > Regards,
> > > > Lambert
> > > >
> > > >
> > > > Interested in MARIN's R&D 2007? Subscribe to the MARIN R&D seminar for the Dutch Industry on September 12.
> > > >
> > > >
> > > > This e-mail and its content are subject to the disclaimer and General Conditions at www.marin.nl
> > > >
> >
> >
> > Interested in MARIN's R&D 2007? Subscribe to the MARIN R&D seminar for the Dutch Industry on September 12.
> >
> >
> >
Interested in MARIN's R&D 2007? Subscribe to the MARIN R&D seminar for the Dutch Industry on September 12.
_______________________________________________
> >
> > > > osg-users mailing list
> > > > osg-users at lists.openscenegraph.org
> > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> > > >
> > > _______________________________________________
> > > osg-users mailing list
> > > osg-users at lists.openscenegraph.org
> > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> > _______________________________________________
> > osg-users mailing list
> > osg-users at lists.openscenegraph.org
> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
More information about the osg-users
mailing list