-don
On 11/13/06, Don Burns
<[EMAIL PROTECTED]> wrote:
On 11/13/06, Robert Osfield < [EMAIL PROTECTED]> wrote:Producer isn't suited for adding viewer functionality to applications with existing graphics windows set up.
Isn't that sweet?
I've just checked in examples for integrating Producer with Qt3, GLUT and two examples for differing approaches for FLTK. All use a derived Producer::RenderSurface.
It turned out that this was a fairly simple operation to do this. I considered Chris approach, and will probably use that as things are refactored in Producer. However, it was simply a matter of virtualizing realize(), makeCurrent(), swapBuffers() and getWindowRectangle(). This allowed me to derive RenderSurfaces for for FLTK, GLUT, and Qt3. Check the examples in Producer/Examples.
There are a couple of different approaches for dealing with OpenGL rendering in various GUIs, and I'd like to write an article on that and explain the factors that go into to choosing the right architecture for your application given the windowing system of choice. But, for now, I've simply checked in the examples. I'll double check against other OSs tomorrow and add build files for those as well.
Heads up as it is quite possible that applications may break with tonight's check in.
-donOn 11/13/06, c sklu < [EMAIL PROTECTED]> wrote:
> Hi Robert,
>
> Have these already been implemented? Unfortunately I'm still stuck on
> OSG1.0 until after november (but I guess I could peek at the cvs).
>
> In any case, I must admit I'm a bit confused and concerned because
> there appears to be quiet a bit of overlap and parallel development
> between Producer and OSG. Maybe this was already covered in the
> Highland conference or elsewhere, but as some constructive feedback,
> this was probably one of the more difficult things for me when I first
> started with OSG. Should I use raw Producer, the osgProducer
> interface, or the high-level osgViewer interface? Ultimately I opted
> for a combination of the first two to give (what I thought) was the
> most flexibility and because I could fit it into my architecture which
> was roughly based on Performer. Ideally I would like to have a clear
> distinction between a package that handles all the windowing/viewing,
> and another that does the scenegraph, kind of like libpr and libpf.
> Although this is probably too idealistic, especially for things that
> overlap the two like mouse/keyboard input or I'm sure you have many
> more arguements and examples why.
>
> Chris
>
> On 11/13/06, Robert Osfield <[EMAIL PROTECTED]> wrote:
> > HI Chris,
> >
> > I haven't reviewed your code, but perhaps my plans for
> > osgViewer::GraphicsWindow might help help provide another data point.
> > GraphicWindow is the base class, then you have concrete
> > implementations of this i.e GraphicsWindowQT, GraphicsWindowWin32 etc,
> > then finally there will be a concrete GraphicsWindowProxy
> > implementation and this at runtime binds to the appropriate
> > GraphicsWindow* implementation. The GraphicsWindowProxy hasn't been
> > implemented yet though, so there is no code to copy :-)
> >
> > GraphicsWindowProxy is the equivilant of RenderSurface, except the
> > current RenderSurface does the implementation selection at compile
> > time rather than runtime.
> >
> > Robert.
> >
> > On 11/13/06, c sklu < [EMAIL PROTECTED]> wrote:
> > > Here's my implementation based on the Producer from OSG_OP_OT- 1.0.
> > > I've tried to strip out all of our local software environment stuff so
> > > I hope I didn't cut out too much. As you see, it is pretty simple. The
> > > only major change is Producer::RenderSurface is an abstract base class
> > > (so the original Producer::RenderSurface needs to be renamed or the
> > > one here has to be renamed). One gotcha is that Camera no longer
> > > automatically initializes a RenderSurface but needs to be explicitly
> > > set by the application. A cleaner/safer way of doing this needs to be
> > > figured out. I didn't include the original Producer::RenderSurface
> > > class, but that now just needs to derive from this base class and
> > > declare the appropriate methods as virtual.
> > >
> > > Cheers,
> > > Chris
> > >
> > > On 11/13/06, Mathieu MARACHE < [EMAIL PROTECTED]> wrote:
> > > > Hi Chris,
> > > >
> > > > I assume you are speaking of your post 'Producer suggested
> > > > reorganization for Qt (and other) windowing systems' from the 20th of
> > > > July ? If so It does look a bit the same approach Don is suggesting.
> > > > It would be fantastic if you could help out Don on this. I would also
> > > > let a hand or two :) because having a Qt Producer::RenderSurface will
> > > > mean less efforts on my side to tackle my "specific" problem.
> > > >
> > > > On a side note I've presented my problem to the Delta3D developers and
> > > > it seems they will be having the same sort of integration problems
> > > > sooner or later, so they might as well benefit from this work of
> > > > opening render surfaces natively to different Windowing systems.
> > > >
> > > > regards,
> > > > Mathieu
> > > >
> > > > 2006/11/9, c sklu <[EMAIL PROTECTED] >:
> > > > > Hi Mathieu,
> > > > >
> > > > > I've written to Don about this about a way of making Producer/Qt
> > > > > integration almost trivial (as well as wxWindows, Fox, <your favorite
> > > > > gui toolkit here>). But it did require some (minor) changes to
> > > > > Producer. Don is still considering this I think but it is also an
> > > > > important issue for me to be able to integrate OSG/Producer with any
> > > > > gui toolkit. If you want my solution let me know but I would probably
> > > > > prefer a blessing from Don about this...
> > > >
> > > > --
> > > > Mathieu
> > > > _______________________________________________
> > > > 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/
> >
> _______________________________________________
> 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/
