On 10/5/06, Oliver Kutter <[EMAIL PROTECTED]> wrote:
I'm not sure exactly why this is happening (actually, I'm not sure what the problem is exactly). It would seem that your application is still attempting to draw to a window that no longer exists. Perhaps on Windows, it just uses the existing window and on Linux it actually crashes. In either case, they KeyboardMouseCallback has a shutdown() method that should allow you to detect when the window is closed and you can stop rendering to that window. (Hm.. I just realized, however, that the shutdown is not window specific.)
This is a windowing system constraint. You can get a handle to the window by the method renderSurface->getWIndow(). You can then use whatever configuration is necessary to keep the window from resizing. Producer::RenderSurface doesn't currently have a method for handling this specifically.
-don
Hi Don,
I got my windows working, but now I have two more problems which I
cannot solve.
The first thing is that, when I close one window (which is not the main
window, I call it "sub-window") the content of the sub-window will be
drawn into the main window instead of the main window's content (or the
content will be overwritten, I don't know). The funny thing is that this
is only happening on Windows, when the sub-window will be closed on
Linux, the whole application exits. Here are two screenshots which show
the problem (on Windows):
http://getwww.uni-paderborn.de/~kutter/MultipleWindows.jpg
http://getwww.uni-paderborn.de/~kutter/OneWindowClosed.jpg
I'm not sure exactly why this is happening (actually, I'm not sure what the problem is exactly). It would seem that your application is still attempting to draw to a window that no longer exists. Perhaps on Windows, it just uses the existing window and on Linux it actually crashes. In either case, they KeyboardMouseCallback has a shutdown() method that should allow you to detect when the window is closed and you can stop rendering to that window. (Hm.. I just realized, however, that the shutdown is not window specific.)
The second problem: How I can prevent that the window size can be
changed by the mouse? Is this possible at all? And can I set a parent
window to which the sub-window always lies in front of, even when the
parent window has the focus?
This is a windowing system constraint. You can get a handle to the window by the method renderSurface->getWIndow(). You can then use whatever configuration is necessary to keep the window from resizing. Producer::RenderSurface doesn't currently have a method for handling this specifically.
-don
regards,
Oliver
Don Burns schrieb:
> Hi Oliver,
>
> Robert once said that less lines of code constitutes cleaner code.
>
> Here is an example that is three times cleaner than osgprerender:
>
> http://www.andesengineering.com/misc/pbufex.zip
>
> In a nutshell, the program does just what you are asking for:
>
> 1. Camera one is set up to render to a PBuffer
> 2. A post draw callback copies the contents of the pbuffer to an
> osg::Image
> 3. Camera 2 is set up to render to a Window.
> 4. At frame time, it does a BLT (with a single glDrawPixels()) to the
> window.
>
> You may do image processing on the image between camera 1's frame and
> camera 2's frame.
>
> Cheers,
> -don
>
> On 9/28/06, *Brad Colbert* < [EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
>
> Oliver,
>
> You can set up your camera to render to an image. Look at the
> osgprerender example. It should explain much.
>
> Cheers,
> -Brad
>
> ---
> RSC
> BDC
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]> [mailto: osg-users-
> <mailto:osg-users->
> > [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>]
> On Behalf Of Oliver Kutter
> > Sent: Thursday, September 28, 2006 7:20 AM
> > To: osg users
> > Subject: [osg-users] more than one window
> >
> > Hi,
> >
> > I wonder if it's possible that more than one window can be used
> in one
> > application? I found the osgwindows example, but this is not what I
> need.
> > I want to do an offscreen rendering which I save into an image,
> then I
> > do some image processing and at last I want to show only that
> image in
> a
> > seperate window (without 3D, only a plane 2D image). I don't want to
> use
> > anymore viewports but more windows instead.
> > I thought of using qt as a window manager but I would rather use the
> > Producer.
> >
> > It this possible?
> >
> > regards,
> > Oliver
> > _______________________________________________
> > osg-users mailing list
> > [email protected] <mailto:[email protected] >
> > http://openscenegraph.net/mailman/listinfo/osg-users
> > http://www.openscenegraph.org/ <http://www.openscenegraph.org/>
> _______________________________________________
> osg-users mailing list
> [email protected] <mailto:[email protected]>
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
_______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
