Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-3017

Support threaded GL rendering through high-level API in QGLWidget

XMLWordPrintable

    • Icon: Suggestion Suggestion
    • Resolution: Out of scope
    • Icon: P2: Important P2: Important
    • Some future release
    • None
    • GUI: OpenGL
    • None

      A property in QGLWidget that would make all calls to the paintGL, initializeGL etc functions be executed by an explicitly created render thread, ie

      QThread *thread = new QThread;
      MyGLWidget *widget = new MyGLWidget(thread);
      widget->setRenderThread(thread);
      widget->show();
      thread->start();

      In QGLWidget::setRenderThread:

      void QGLWidget::setRenderThread(QThread *thread)
      {
      d->thread = thread;
      d->renderHelper = new QGLRenderHelper(this);
      d->renderhelper->moveToThread(d->thread);
      }

      QGLRenderHelper then implements slots that are called by QGLWidget via QMetaObject::invokeMethod instead of QGLWidget::paintGL etc, and call the QGLWidget::paintGL etc functions.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            sletta Gunnar Sletta
            vhilshei Volker Hilsheimer
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes