<div dir="ltr"><div dir="ltr">On Thu, Apr 1, 2021 at 8:40 AM Paul Lemire <<a href="mailto:paul.lemire@kdab.com">paul.lemire@kdab.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p>Hello Paul,</p></div></blockquote><div>Hello, <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    <p>It sounds to me like Scene2D is what you want as it renders a
      QtQuick scene into an offscreen texture which can then be applied
      to a Qt 3D mesh. Unfortunately it can only be used from QML.</p>
    <p>That being said, nothing is stopping you from having 90% of the
      Qt3D code in C++ and just having a small part in QML that
      essentially only instantiates your 3D Scene and the Scene2D and
      povides the 3D scene with the Scene2D texture. I think that would
      be the easiest.</p></div></blockquote><div>Yes, that's what I've been using to "guide me through". And I do acknowledge I can use it from QML, but there's also this thing: <a href="https://bugreports.qt.io/browse/QTBUG-90411">https://bugreports.qt.io/browse/QTBUG-90411</a></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    <p>If you want to do it purely in C++, another approach (but more
      complex to set up and that would have to be tested) is to use a
      QSharedGLTexture to tell Qt3D about an existing OpenGL texture by
      textureId. This means using the Qt shared OpenGL context, and
      manually rolling your own QQuickRenderControl to render QtQuick
      into a QOpenGLTexture, and then providing the QOpenGLTexture's id
      to the QSharedGLTexture. You'll also need to ensure proper
      synching using fences (QWaitFence/QSetFence) to ensure that Qt3D
      is not trying to render while the the shared texture is being
      updated. This would be more or less similar to one of the manual
      test we have in Qt3D
<a href="https://code.qt.io/cgit/qt/qt3d.git/tree/tests/manual/sharedtexture?h=5.15.2" target="_blank">https://code.qt.io/cgit/qt/qt3d.git/tree/tests/manual/sharedtexture?h=5.15.2</a></p>
    <p>I hope that helps,</p></div></blockquote><div>Indeed, thanks! Still, it doesn't seem there's a way I can hook into the frame graph and just have anything drawn directly on the screen, is there? The best I could do, as far as I can tell, is to have an ortographic camera looking at a quad, which I can texture with whatever comes from the QtQuick scene, it appears (i.e. what Florian Blume's code does here: <a href="https://github.com/florianblume/Qt3D-BackgroundImage">https://github.com/florianblume/Qt3D-BackgroundImage</a>). Is this correct?<br><div dir="ltr"><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 1, 2021 at 11:15 AM Oleg Evseev <<a href="mailto:ev.mipt@gmail.com">ev.mipt@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>By the way 
in Qt 5.14 there comes an option to use Scene3D as underlay

 without
FBO: 



</div><div><a href="https://doc.qt.io/qt-5/qml-qtquick-scene3d-scene3d.html#compositingMode-prop" target="_blank">https://doc.qt.io/qt-5/qml-qtquick-scene3d-scene3d.html#compositingMode-prop</a></div><div><br></div><div>I did tried this, but encountered with a problem when using together with OnDemand:<br></div><div><a href="https://bugreports.qt.io/browse/QTBUG-82861" target="_blank">https://bugreports.qt.io/browse/QTBUG-82861</a></div></div></div></blockquote><div><br>Indeed. It does seem bugs reports've accumulated for Qt3D over time. View3D also segfaults (the example) for some reason. <br><br>Kind regards,<br>Konstantin.</div></div> <br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    <div id="gmail-m_-1646224491336006029grammalecte_menu_main_button_shadow_host" style="width:0px;height:0px"></div>
  </div>

</blockquote></div></div>