Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. [SOLVED] Using a vtk renderer in QtQuick
Forum Updated to NodeBB v4.3 + New Features

[SOLVED] Using a vtk renderer in QtQuick

Scheduled Pinned Locked Moved QML and Qt Quick
30 Posts 7 Posters 23.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Martell Malone
    wrote on last edited by
    #20

    I need to set the geometry in my setsize or I get nothing in the window.

    @
    QSGFboTexture::QSGFboTexture(QGLFramebufferObject* fbo)
    :QSGTexture()
    {
    m_fbo = fbo;

    // setFbo(fbo);
    if (m_fbo != NULL)
    firstTimeBound = true;

    }
    @

    same as setFbo ;-)

    The problem is that on ANGLE we are using a GLES emulator not OpenGL.
    Those two functions don't exsist.

    What happens to your window when you dont call the push and pop?

    @void ColorNode::preprocess()
    {
    if(m_fbo == NULL) return; //will happen a few times

    QOpenGLContext::currentContext()->functions()->glUseProgram(0);
    m_fbo->bind();
    

    CCDirector::sharedDirector()->mainLoop();

    m_fbo->release();
    

    m_fbo->toImage().save("name.png","png");

    }@

    1 Reply Last reply
    0
    • Z Offline
      Z Offline
      z.emb
      wrote on last edited by
      #21

      Its not working without the push and pop (nothing is rendered, only the background). Unfortunatelly I cannot tell you why, I'm no OpenGL expert.

      1 Reply Last reply
      0
      • M Offline
        M Offline
        Martell Malone
        wrote on last edited by
        #22

        I think I understand why.
        The only problem is GLES doest support those functions so how do we get around them?

        Maybe I should make a new thread to this issue?

        1 Reply Last reply
        0
        • M Offline
          M Offline
          Martell Malone
          wrote on last edited by
          #23

          I found a new way of solving this problem.

          It Involves setting up a separate opengl context and switching between the two before and after binding and releasing the fbo.

          Any idea how to draw correctly for a y inverted fbo.
          On qquickpainteditem we can set it to flip but not for the qsgtexture :/

          1 Reply Last reply
          0
          • Z Offline
            Z Offline
            z.emb
            wrote on last edited by
            #24

            Hey, thanks for your reply. Can you provide some code how you do that?
            In my case, it also seems to be the cleanest way to do the same thing and I wan't to try that. :-)

            For the flipping problem I would naivly just scale (glScale) the y-Axis with -1. But as I mentioned, I'm no OpenGL expert.

            1 Reply Last reply
            0
            • M Offline
              M Offline
              Martell Malone
              wrote on last edited by
              #25

              Hey z.emb

              I used what was on this thread.

              http://qt-project.org/forums/viewthread/25268/

              I just changed this line for the flip y.

              QSGGeometry::updateTexturedRectGeometry(&m_geometry,
              QRectF(0, 0, m_size.width(), m_size.height()),
              QRectF(0, 0, 1, 1));

              to

              QSGGeometry::updateTexturedRectGeometry(&m_geometry,
              QRectF(0, 0, m_size.width(), m_size.height()),
              QRectF(0, 1, 1, -1));//0011 = old y fliped

              1 Reply Last reply
              0
              • Z Offline
                Z Offline
                z.emb
                wrote on last edited by
                #26

                Can you give me some code how you switched the GL-context?

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  Martell Malone
                  wrote on last edited by
                  #27

                  Hey Guys,

                  Apologies about not replying.
                  I didn't realize I got a response.

                  I swapped the context at the very beginning by using the code in this thread

                  http://qt-project.org/forums/viewthread/25268/

                  Hope that helps Ricky, just got your pm.

                  Many Thanks
                  Martell

                  1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    rlonka
                    wrote on last edited by
                    #28

                    Hi,

                    I still did not get it.
                    Could you, please, anyone post a full example about rendering vtk to qtquick?
                    I was trying to understand the discussion but I did not get through...

                    Best regards,

                    radek

                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      rpetryniak
                      wrote on last edited by
                      #29

                      Hey, I join to this request. Even the simplest example would be helpful.

                      Regards,
                      rafal

                      1 Reply Last reply
                      0
                      • N Offline
                        N Offline
                        niker91
                        wrote on last edited by
                        #30

                        I have created a repository with code that integrates VTK with Qt QuickControls 2, tested with VTK 8 and Qt 5.9. You can find the code here https://github.com/nicanor-romero/QtVtk with building instructions in the README. Also a brief article about it,
                        https://blog.bq.com/es/integrating-qtquickcontrols-2-with-vtk/

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved