Hi Robert,

I'll look at osgViewer::Viewer, the reason I used osgViewer::CompositeViewer
is because the methods it provided made implementing something very easy.

Right now I am targeting multiple GPU machines, I have looked at clusters in
the past for this problem but that is not the direction I am working in
right now.  My inspiration for this project comes from my experience working
in a startup that did transparent OpenGL sort-first and sort-last
compositing, so I have lots of experience with the various compositing
methods already.

Just having access to the scene graph solves many of the problems that we
where unable to efficently solve as a transparent OpenGL layer.  Things like
data decompositing become trival in a scene graph and are next to impossible
to do efficently when all you are getting is the raw polygon data.

Thanks for your help and interest.

- Jason


On Fri, May 9, 2008 at 1:36 AM, Robert Osfield <[EMAIL PROTECTED]>
wrote:

> Hi Jason,
>
> For your compositing like you are doing I'd suggest using
> osgViewer::Viewer rather than osgViewer::CompositeViewer, as when
> doing compositing you are logically managing a single view of the
> scene, even though its composed of a number of slave cameras.  A
> CompositeViewer is for composing a viewer from multiple views,
> although given the name Composite in the class name I can certainly
> see the draw, just in this case its composing views, rather than
> blocks of rendering.   It may be that eventually you'll want to use a
> CompositeViewer managing multiple views, that each are doing their own
> compositing too... ;-)
>
> BTW, what hardware set up are you targeting? A cluster, a multiple GPU
> machine?  Is there a particular paper you are using for inspiration
> for you work?
>
> Robert.
>
> On Thu, May 8, 2008 at 9:04 PM, Jason Baurick <[EMAIL PROTECTED]> wrote:
> > Hi Robert,
> >
> > Ideally I would do this at a higher level, I am just new to OSG in
> general,
> > so I took the first path I found that would do what I needed.  Setup is
> > actually done above the CompositeViewer in my prototype and I would like
> to
> > do the entire process at that level.  I was looking at making a
> > CompositedViewer class that handled all the details I do outside the
> > existing viewer structure.
> >
> > Thanks for the pointer on renderstages/renderbins.  I will begin looking
> at
> > that latter today and see what I can do with them.
> >
> > - Jason
> >
> > On Wed, May 7, 2008 at 8:57 AM, Robert Osfield <[EMAIL PROTECTED]
> >
> > wrote:
> >>
> >> Hi Jason,
> >>
> >> Compositing is topic that I haven't personally tackled yet, but am
> >> very curious about it, and something I something that osgViewer could
> >> probably evolve to help out with it.   I say evolve as it doesn't have
> >> an explicit support for it right now, but in terms of functionality
> >> compositing is a high level feature that depends upon the hardware
> >> setup rather than the scene itself, so is natural to implement it at
> >> the higher level of the viewer, rather than embedded in the scene
> >> graph.  It would be nice to have composite support as a configurable
> >> feature of osgViewer just like management of multiple graphics
> >> context/displays.
> >>
> >> To implement what you need right now it might well be best to
> >> modify/subclass osgUtil::RenderStage/RenderBin to provide the hooks
> >> you require as its the object in the rendering backend that does the
> >> rendering.   I'm open to see required changes merged into the core
> >> OSG, with a view to see compositing support make its way into a core
> >> feature of osgViewer.
> >>
> >> Robert.
> >>
> >> On Wed, May 7, 2008 at 3:48 PM, Jason Baurick <[EMAIL PROTECTED]>
> wrote:
> >> > Hi Robert,
> >> >
> >> > I'm implementing various sort-last compositing methods using OSG.  For
> >> > depth
> >> > compositing you need to composite after the opaque data has been
> >> > rendered
> >> > but before the transparent data has been rendered.  Compositing is
> >> > actually
> >> > done with buffer transfers Read Pixels, Texture Images, PBOs, etc...
> >> >
> >> > Since each view has to do different work I just added Geodes with
> custom
> >> > drawables to the scene graph which do the required GL action.  The
> >> > problem
> >> > with this method is I'm adding at least one node for each GPU I want
> to
> >> > work
> >> > with, in some sort-last cases multiple nodes per GPU.  This is not a
> >> > clean
> >> > implementation in my opinion.  So I am looking for other ideas on how
> I
> >> > can
> >> > insert operations in-between rendering bins.
> >> >
> >> > - Jason
> >> >
> >> >
> >> > On Wed, May 7, 2008 at 2:59 AM, Robert Osfield
> >> > <[EMAIL PROTECTED]>
> >> > wrote:
> >> > > Hi Jason,
> >> > >
> >> > > What do types of operations are you looking to do?
> >> > >
> >> > > Robert.
> >> > >
> >> > >
> >> > >
> >> > >
> >> > > On Mon, Apr 28, 2008 at 9:58 PM, Jason Baurick <[EMAIL PROTECTED]>
> >> > > wrote:
> >> > > > Hi,
> >> > > >
> >> > > > I recently started working with OSG and I have what is hopefully a
> >> > simple
> >> > > > question.  I have a composite viewer with two views, I want to
> >> > > > perform
> >> > an
> >> > > > action on the buffers in each view between the opaque rendering
> and
> >> > > > the
> >> > > > transparent rendering, each view needs to perform a different
> >> > > > action.
> >> > > > Currently to make this work I added two nodes to my scene graph,
> >> > > > culled
> >> > out
> >> > > > one for each view and then stuck them in a renderbin between the
> >> > > > opaque
> >> > and
> >> > > > transparent bins.  So I guess what I'm asking is if there is a
> >> > > > simpler
> >> > way
> >> > > > to do this?  I tried setting up camera callbacks, but this happens
> >> > > > at
> >> > the
> >> > > > wrong point, my next thought would be to overload the draw
> >> > > > traversal.
> >> > > >
> >> > > > Any suggestions would be welcomed, thank you in advance.
> >> > > >
> >> > > > --
> >> > > > --Jason Baurick
> >> > > >
> >> > > > _______________________________________________
> >> > > >  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
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> > --Jason Baurick
> >> >
> >> > _______________________________________________
> >> >  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
> >
> >
> >
> > --
> > --Jason Baurick
> >
> > _______________________________________________
> > 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
>



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

Reply via email to