[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