[osg-users] multiple windows

Thibault Genessay tibogens at gmail.com
Mon Oct 29 00:29:39 PDT 2007


Hi Mario


On 10/26/07, Mario Valle <mvalle at cscs.ch> wrote:
> I had to make some addition to have it compiling under VS 7.1 (and my wx and osg
> libraries). But beside this, I noticed a strange thing:
> load spaceship.osg (or fountain.osg) and you notice the motor plumes does not animate. If
> you make the model rotate, they start animate again.

That is quite expected. The update traversal is not normally
triggered, so no updatecallback-based animations can work if the view
is not being updated. If you throw the model, the manipulator calls
requestContinuousUpdate(true) so animations are updated.
If you want to override this behavior, you can call
Canvas::setUpdateWhenIdleOverride(true). You'll get the "normal",
real-time OSG loop.

The rationale is that GUI based applications more often display static
scenes (e.g. in a 3D modeler, the update is not continuous).

> It is something related to your OnIdle optimization. If you comment the if line, then
> everything animates as usual.
> Hope it helps.

Glad to see if compiles under 7.1
Thanks for testing

Thibault

> Ciao!
>         mario
>
>
> Thibault Genessay wrote:
> > Hi Emmanuel
> >
> > I have made a sample that demonstrate the integration of the OSG in
> > wxWidgets. It is a simple frame with a wxAUINotebook containing OSG
> > views. You can download source and binaries at
> > http://ips-dil.unil.ch/osg
> >
> > Could you have a look at these and see if this suits your needs ?
> >
> > I am planning to release it as an "official" sample to OSG+wxWidgets,
> > so I'll need to test it on more systems (not tested on Linux as of
> > today) and more threading models.
> >
> > It uses a modified version of the osgCompositeViewer::Viewer that
> > skips rendering if makeCurrent() returns false. Currently, the
> > composite viewer ignores the return value of makeCurrent(). We'll need
> > to address this issue with Robert as it is precisely the problem you
> > and him are discussing in the thread "camera switching in composite
> > viewer".
> >
> > Cheers
> >
> > Thibault
> >
> >
> > On 10/26/07, Emmanuel Roche <roche.emmanuel at gmail.com> wrote:
> >> Okay, with this version joined, we have two tabs (not added dynamically,
> >> sure, but it's a beginning...) with animation rendered correctly...
> >>
> >> The only issue left is the mouse handling problem:
> >> I added a trackballmanipulator on the view1 on each tab, assigned an
> >> handling function to the corresponding wxGLCanvas each time, and this
> >> function is indeed called when I drag on the view1 BUT nothing moves...
> >> :-(...
> >>
> >> I'm using view->getEventQueue()... could it be somehow "disconnected" ?
> >> nothing happens either if I use the corresponding
> >> graphicswindow->getEventQueue()... so what's left ??
> >>
> >> Manu.
> >>
> >>
> >> 2007/10/26, Emmanuel Roche <roche.emmanuel at gmail.com>:
> >>> Indeed, we are in a situation where the CompositeViewers don't share the
> >> GraphicsWindows and everything happen in the same thread... yet, it's
> >> currently not working for me:
> >>> as soon as I had a second tab only the last compositeviewer gets updated
> >> and drawn, the others are frozen... :-(...
> >>> I keep investigating...
> >>>
> >>> Manu.
> >>>
> >>>
> >>> 2007/10/26, Robert Osfield < robert.osfield at gmail.com>:
> >>>
> >>>> On 10/26/07, Alberto Luaces <aluaces at udc.es> wrote:
> >>>>> If I recall correctly, you can have as many CompositeViewers as you
> >> like/need.
> >>>> If the different viewers don't share any GaphicsWindows then it should
> >>>> be fine to have multiple Viewer/CompositeViewers.
> >>>>
> >>>> However, If all the viewers run in different threads then sharing a
> >>>> single scene graph between them would be problematic.  Such usage
> >>>> would lead to one viewers update running in parallel with another
> >>>> viewer's cull/draw.
> >>>>
> >>>> Robert.
> >>>> _______________________________________________
> >>>> 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
> >
>
> --
> Ing. Mario Valle
> Visualization Group                              | http://www.cscs.ch/~mvalle
> Swiss National Supercomputing Centre (CSCS)      | Tel:  +41 (91) 610.82.60
> v. Cantonale Galleria 2, 6928 Manno, Switzerland | Fax:  +41 (91) 610.82.82
> _______________________________________________
> 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