Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Offscreen and OpenGL

Offscreen and OpenGL

Scheduled Pinned Locked Moved Unsolved General and Desktop
opengloffscreen
3 Posts 2 Posters 2.1k Views
  • 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.
  • NtisN Offline
    NtisN Offline
    Ntis
    wrote on last edited by Ntis
    #1

    Hello,

    I try to use Qt to compose an overlay in offscreen mode and display it with n existing opengl context (not Qt for this context, its gstreamer callback)

    I tried multithread opengl for texture upload but read somewhere that it will be a relly pain to do like that, and my tries confirm that, I can't find a way to share the opengl context, to share texture created by gstreamer and the other one by Qt in the openg frame buffer.

    I'm intending to use glmapbuffer to tells qt to render into a pixmap but that's sound not really efficient.

    Have you a clue on how to do this ?!

    I have a opengl context wth a texture in a particular thread (because this is a callback I can't change)
    On the top of this texture I would like to add an overlay designed by Qt oin offscreen manner

    is the glmapbuffer the right way and I need to render the full composition when something changes in the overlay or is it possible to tell Qt widget overlat composition to render only the part that changed directly in a texture that will be usable in the gstremer callback ?

    Thanks for your advices, I'm really new to OpenGl, a little less to Qt and admit I'm little lost with all the possible manner to do that :s

    (Edit: I forgot to mention I use Qt 5.3.2 on debian jessie on an embedded system, so only QGLWidget and no QOpenGLWidget)

    Regards
    Nicolas

    1 Reply Last reply
    0
    • V Offline
      V Offline
      Vincent007
      wrote on last edited by
      #2

      Would you mind telling what embedded system you are using?
      Can you change your embedded system to update Qt version to Qt 5.6?
      For offscreen, you can use QQuickRenderControl

      1 Reply Last reply
      0
      • NtisN Offline
        NtisN Offline
        Ntis
        wrote on last edited by Ntis
        #3

        Sorry I juste saw your answer, mail notification was not taken into account.
        I use a dragonboard with a debian jessie and qt 5.3.2. I tried to cross compile qt 5.5 but the compilation just stops without any errors ... I've tried the same way I successed on beagleboard and raspberry but have no more time spending on this compilation so I programming directly in the board -sick- with qtcreator -re sick-
        I think QQuick is part of QtQuick that seems not be available on my board :(
        There is no way to get paint event of an offcreeen management in Qt ?
        For now what I've done :
        SubClass Widget
        load an ui
        Render it to a QImage that has a mapped buffer to an OpenGl buffer

        My problems :
        copy to the buffer is long and seems not to be asynchronous I don't understand why :(
        And my widget is transparent so successive render in the same buffer don't erase (fill with trasparency) the previous exposed area :(
        And even if I success creating a texture I get the problem that Qt must uses it's own OpenGL context, and I have already mine (not Qt) , so texture aren't shared

        I would like, either have an automatic repaint like a QApplication byt offscreen directly il OpenGL texture :D :D :D
        Or at least now where the repaint should be done to manually erase to transparent (with right coordinates :s )

        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