<html><head></head><body><p dir="ltr">Hi Ricky,<br>
I understand your point of view here. But I think there are multiple use cases. <br>
If I understand your approach well you intend having a 3d rendering app with some nice qt based features.<br>
On the other hand we are developing a lot of software in the textile environment and 3d simulation of the fabric is just an optional add-on. So the main aspect in our case is having a geometry managed embedded window showing an ist scene.<br>
So for us James's contribution is just what we need.<br>
As I said before, there are many scenarios for interacting qt and osg.<br>
</p>
<br><br><div class="gmail_quote">On 17. August 2015 18:33:46 MESZ, Riccardo Corsi <riccardo.corsi@kairos3d.it> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif"><div class="gmail_default">Hi James,</div><div class="gmail_default"><br /></div><div class="gmail_default">I haven't looked into osg+qt integration since a while so I might not be aware of the latest features available.</div><div class="gmail_default"><br /></div><div class="gmail_default">From my point of view the most desired feature is to be able to integrate a qt scene (a GUI layout or a browser/pdf/svg viewer widget) inside an osg driven application smoothly - i.e. without the need of a Qt application to run as main thread loop, but hiding it as a "slave" somewhere in an osg module/node, to make those widget pluggable in a "regular" osg application.</div><div class="gmail_default"><br /></div><div class="gmail_default">Instead if you're interested, a while ago I coded an integration to render with osg inside a QtQuick+QML application.</div><div
class="gmail_default">Basically the solution implements a custom QtQuick node which renders an osgViewer scene to an FBO, and then copies the FBO contents back to the Qt context, to make it available in the qt/qml scenegraph which renders the widgets.</div><div class="gmail_default">The osgQuickNode uses a separate OpenGL context, not to interfere with the one used by Qt for its own scene rendering. </div><div class="gmail_default">All the code is here: <a href="https://github.com/rickyviking/qmlosg" target="_blank">https://github.com/rickyviking/qmlosg</a></div><div class="gmail_default">If you have questions about the implementation feel free to write me.</div><div class="gmail_default"><br /></div><div class="gmail_default">Ricky</div></div></div><div class="gmail_extra"><br /><div class="gmail_quote">On Mon, Aug 17, 2015 at 12:54 PM, Robert Osfield <span dir="ltr"><<a href="mailto:robert.osfield@gmail.com" target="_blank">robert.osfield@gmail.com</a>></span> wrote
 :<br
/><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>HI Alistair,<br /><br /></div>I'm not familiar with Qt5/QQuck2 so can't comment on the Qt side, so have to defer to others on this.<br /><br />On the OSG side osgViewer is designed specifically to handle a thread per graphics context/window - it's a core feature of how osg::GraphicsContext, osg::GraphicsThread are designed and implemented.  If Qt5 requires a thread per window then this is a model that osgViewer can be capable of handling since it's inception (well before Qt5), the only question would be to how to integrate the threading in synchronization operations that Qt5 is forcing upon the set up with the way that the OSG manages things.  Perhaps subclassing from osg::GraphicsThread might be one approach or other classes.<br /><br /></div><div>I don't know if the other direction might be possible - stop Qt trying to do eve
 rything
that the OSG can already do perfectly without it.<span class="HOEnZb"><font color="#888888"><br /></font></span></div><span class="HOEnZb"><font color="#888888"></font><div><font color="#888888"><br /></font></div>Robert.<br /></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br /><div class="gmail_quote">On 17 August 2015 at 09:48, Alistair Baxter <span dir="ltr"><<a href="mailto:alistair@mve.com" target="_blank">alistair@mve.com</a>></span> wrote:<br /><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">As you are no doubt aware, James, we've been looking into this sort of integration ourselves. QQuick 2 integration is part of our goal, although we hadn't been planning direct interaction between QML and out osg scenes, since we have a separate data model. Although if such a thing existed, and were sufficiently convenient to use, then we might be interested in integrating it in a similar
  way to
how we use the existing 3D osg manipulators. We've never really been interested in QWidgetImage, we only ever used it to try and get round a window composition issue on OSX.<br />
<br />
Our main concern at the moment is that we need a multi-window viewer. Due to the way Qt 5 has a separate opengl render thread per Window, this has meant reimplementing a significant chunk of OSGCompositeViewer in order to get it to work at all, and we are discovering a variety of thread-synchronisation issues.<br />
<div><div>_______________________________________________<br />
osg-users mailing list<br />
<a href="mailto:osg-users@lists.openscenegraph.org" target="_blank">osg-users@lists.openscenegraph.org</a><br />
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br />
</div></div></blockquote></div><br /></div>
</div></div><br />_______________________________________________<br />
osg-users mailing list<br />
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br />
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br />
<br /></blockquote></div><br /></div>
<p style="margin-top: 2.5em; margin-bottom: 1em; border-bottom: 1px solid #000"></p><pre class="k9mail"><hr /><br />osg-users mailing list<br />osg-users@lists.openscenegraph.org<br /><a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br /></pre></blockquote></div></body></html>