[osg-users] Support for multiple WindowingSystemInterface implementations at compile and runtime

Robert Osfield robert.osfield at gmail.com
Mon May 16 06:04:38 PDT 2016

Hi All,

Since the inception of the osgViewer it has been tied to only support
one type of windowing system at one time - so both compile and runtime
you'd need to use just one windowing system backend if you wanted all
the automatic context creation.

With the developments on the Wayland there is the potential for
Wayland implementation making it's way into the core OSG, we have the
possibility/need of having GLX and Wayland being compiled into
osgViewer and which one to use as being something selected at runtime.
This also applies to other Windowing toolkits as well.

I should add that I don't personally have a Wayland implementation to
share so this won't just magically be added this week, this work is
about opening the door to the members of the community providing a
Wayland or other implementations that aren't mutually exclusive.

To facilitate the need for this extra flexibility w.r.t windowing
system I have just checked in, to github OSG master, a set of changes
that affect all platforms, but if all goes well will just work without
requiring any code changes to end users applications unless they want
to specifically select a particular windowing system.  I have only
tested the changes under X11 so far.

I need others to test the modifications out under Windows, OSX Carbon
and Cocoa and IOS.  I have tried to take care and make the
modifications in a way that shouldn't break build or runtime, but
there is real chance that I haven't done things quite right.

I have used #if 1 #else #endif blocks when adding my new code and
disabling the old code paths.  Once we know everything is working with
the new changes I remove the #if#else#endif blocks.

So please, please could you test and let me know how you get on.  If
there are problems I'll try and get a fix right away.


More information about the osg-users mailing list