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
>> > > >  [email protected]
>> > > >
>> >
>> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>> > > >
>> > > >
>> > > _______________________________________________
>> > > osg-users mailing list
>> > > [email protected]
>> > >
>> > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>> > >
>> >
>> >
>> >
>> > --
>> > --Jason Baurick
>> >
>> > _______________________________________________
>> >  osg-users mailing list
>> >  [email protected]
>> >
>> >  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>> >
>> >
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
>
> --
> --Jason Baurick
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to