[osg-users] Recommended way to render a scene from multiple independent viewpoints

Robert Osfield robert.osfield at gmail.com
Tue Apr 11 06:09:21 PDT 2017

HI Hannes,

The CompositeViewer was written specifically for your usage case -
i.e. multiple Views.

I wouldn't recommend using slave Camera's for doing multiple views,
while possible it's just a mess in terms of management.  slave
Camera's are tools for helping rendering a single view, but with a
view that is composed of several components - either spread across
multiple windows, or a view that requires multiple passes such as
distortion correction, field of view etc.

The only reason you drawback you state about using CompositeViewer is
multiple update traversals. Is this correct?  If so then the
discussion should be about what problems you are having with
callbacks, as the solution will likely related to how you are doing
callbacks rather high level viewer configuration.


On 11 April 2017 at 12:08, Hannes Naude <naude.jj at gmail.com> wrote:
> Hi all
> I am trying to render a single scene from multiple viewpoints. I initially
> implemented this with a compositeviewer as per the osgthirdpersonview
> example. This worked fine except that my update callbacks appeared to be
> getting called more than once per render cycle. I assumed that the update
> traversal was being done for each view separately and therefore nodes that
> are present in multiple views will have their update callbacks called
> multiple times. So, at this point I tried to do the same thing but with a
> single View, somewhat similar to the osgCamera example. But, I do not want
> to add my cameras with viewer.addSlave as I want them to move independently
> of one another. So I tried adding them into the scene graph and giving each
> their own GraphicsContext, but even though the windows corresponding to
> these GraphicsContexts get created, it appears as if all rendering is done
> in a single window with multiple viewpoints being rendered over one another.
> Obviously there are many ways to skin this cat, but I would appreciate some
> guidance on the recommended approach. To recap my requirements are :
>  - Multiple cameras viewing the same scene.
>  - Camera positions and orientations must be independently controlled.
>  - Node update callbacks should be called only once per Node per render
> cycle.
> Any help will be appreciated
> Regards
> Hannes Naude
> _______________________________________________
> 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