[osg-users] Composite viewer & resize
fabien.rioli at tharsis-software.com
Tue Jul 1 05:31:36 PDT 2008
On Tue, Jul 1, 2008 at 12:23 PM, Robert Osfield <robert.osfield at gmail.com>
> Hi Fabien,
> Does osgcomposite resize correctly for you? i.e.
> osgcompositeviewer cow.osg
Thanks for your answer Robert.
Yes, the composite viewer does work fine for the aspect ratio. The
projection matrices changes in my example were only here to show that the
resize event wasn't send to the two viewers.
I work on an application with multiple viewers that needs to shows a grid of
objects of a setted number of collums and lines.
I also need to display objects of the same ratio, so I change horizontal and
vertical space between the objects to have the same number of objecst
*and*keep their aspect. Sometimes the viewer with the grid gets the
sometimes it's an other one, but never both of them.
> I have just tried resizing and it all three views adjust their aspect
> ratio correctly. This relies upon the Camera's projection matrices
> being resized by the GraphicsContext itself, your own code shouldn't
> need to handle the resize, unless of course you actually want to
> implement some custom resize. You can control the resize behaviour of
> the projection matrix via the Camera::setProjectionResizePolicy(..)
> options are:
> enum ProjectionResizePolicy
> FIXED, /** Keep the projection matrix fixed, despite
> window resizes.*/
> HORIZONTAL, /** Adjust the HORIZOTNAL field of view on
> window resizes.*/
> VERTICAL /** Adjust the VERTICAL field of view on window
> On Tue, Jul 1, 2008 at 10:59 AM, fabien rioli
> <fabien.rioli at tharsis-software.com> wrote:
> > Hi All,
> > I'm currently having problems with the resize event redistribution with
> > multiple views (in a composite viewer).
> > It seems that only one of the viewers receives the resize event.
> > See the attached example (.cpp) witch illustrate the problem (two viewers
> > with a resize handler).
> > In the resise handlers I change the projection matrix in order to show
> > view gets the event.
> > The following sreenshots shows different steps of the test.
> > 1.jpg : no event
> > 2.jpg : a first resize event ( the window have been moved)
> > 3.jpg : a second resize event ( resise from the bottom right corner)
> > From what I have understood from osgViewer/CompositeViewer.cpp (in the
> > eventTraversal) the viewer witch receives the event is the one who have
> > focus.
> > I think that because every viewer in the same window is affected by the
> > resizing, the may have to receive the event each other.
> > Is this an intended behaviour ?
> > Thank you in advance,
> > Fabien
> > --
> > Fabien Rioli
> > www.tharsis-software.com
> > _______________________________________________
> > osg-users mailing list
> > osg-users at lists.openscenegraph.org
> osg-users mailing list
> osg-users at lists.openscenegraph.org
Fabien Rioli - Directeur Commercial Tharsis-software
Portable: 06 76 96 59 98
Paris innovation 5 rue d'Uzès 75002 Paris Fixe: 01 40 13 53 49
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the osg-users