[osg-users] Slave cameras in a view

Karl Heijdenberg karl.heijdenberg.osg at gmail.com
Wed Oct 17 01:45:30 PDT 2007


Ah, thanks a lot :-)

Of course that was the reason! Thats also explains why it worked with
different contexts.

Thanks Karl


On 10/17/07, Robert Osfield <robert.osfield at gmail.com> wrote:
>
> Hi Karl,
>
> The master and slave cameras will be drawn in the same frame.
>
> If you see a difference then it must be down to the propagation of the
> settings from the master to the slave being out of sync.  I don't know
> how you set the master, perhaps you are setting it after the sync
> point.  The View::updateSlaves() method that does this sync is called
> from within Viewer::updateTraversals() so perhaps you are setting the
> master camera after this.
>
> Robert.
>
> On 10/17/07, Karl Heijdenberg <karl.heijdenberg.osg at gmail.com> wrote:
> > Hi and thanks for the tip about where to look for code for the
> > projectionOffset. I now have a slave camera with the expected projection
> > offset next to the master camera.
> >
> > One thing that I found out was that the slave camera is drawn one frame
> > after the master. Both cameras are drawn to the same graphics context. I
> can
> > easily see this in the seam between the two cameras by moving my scene
> up or
> > down at a constant speed. My slave camera is then drawn a at a constant
> > distance behind my master camera.
> >
> > In the osgwindow example separate graphics contexts are used for master
> and
> > slave cameras. Is that the way it should be done? And then why?
> >
> > If I set up the two cameras with different graphics contexts they draw
> > within the same frame (when I use the "thread per context" threading
> model).
> >
> > Regards Karl
> >
> >
> >
> > On 10/15/07, Robert Osfield <robert.osfield at gmail.com> wrote:
> > >
> > > Hi Karl,
> > >
> > > Have a look at the osgwindows example, or the
> > > View::setUpViewAcrossScreens() source code in
> > > src/osgViewer/Viewer.cpp.
> > >
> > > On 10/10/07, Karl Heijdenberg < karl.heijdenberg.osg at gmail.com> wrote:
> > > > Hi,
> > > >
> > > > I'm trying to add two cameras to one View in compositeViewer.
> > > > The first camera is added as a master camera and the second as a
> slave
> > > > camera.
> > > >
> > > > Frustums for the cameras:
> > > > master={-50, 0, -40, 40}
> > > >  slave={0, 50, -40, 40}
> > > >
> > > > For the first camera I set the projectionMatrix with
> > > > setProjectionMatrixAsFrustum.
> > > >
> > > > How do I calculate the projectionOffset for the slave camera?
> > > >
> > > > The offset is needed in call to addSlave(osg::Camera* camera,const
> > > > osg::Matrix& projectionOffset, const osg::Matrix& viewOffset, bool
> > > > useMastersSceneData=true);
> > > >
> > > > I've also tried to set the reference frame to
> > ABSOLUTE_RF_INHERIT_VIEWPOINT
> > > > and then call the setProjectionMatrixAsFrustum for both cameras.
> This
> > test
> > > > ended up in a black scene for the second camera. Am I missing
> something?
> > > >
> > > > Thanks, Karl
> > > > _______________________________________________
> > > > 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20071017/8226964b/attachment-0003.htm>


More information about the osg-users mailing list