Hi, On 27/09/2013 07:35, Thomas Meyer wrote: > Hi, > is it possible to render in a QGLWidget with the OGL 4.3 functions?
Yes but it is now recommended to use QWindow + QOpenGLContext for new code as QGLWidget will not see any further development. > If so, how can I call the functions? You need to get hold of the function entry points for the OpenGL 4.3 functions. This can be done via the QOpenGLContext to get a pointer to a QOpenGLFunctions_4_3_Core or QOpenGLFunctions_4_3_Compatibility object depending upon which profile you are using. If using a QOpenGLContext directly you can just do something like this: QSurfaceFormat f; f.setVersion(4, 3); f.setProfile(QSurfaceFormat::CoreProfile); m_context = new QOpenGLContext( this ); m_context->setFormat( f ); m_context->create(); QOpenGLFunctions_4_3_Core *funcs = m_context->versionFunctions<QOpenGLFunctions_4_3_Core>(); if (!funcs) { qDebug() << "Could not obtain OpenGL 4.3 function entry points"; return; } funcs->initializeOpenGLFunctions(); // From here you can use funcs to call any OpenGL 4.3 function funcs->glTextureView(...); If you are using QGLWidget then instead of creating your own context as in the above code you can get hold of QGLWidget's context via: QOpenGLContext *context = m_glWidget->context()->contextHandle(); then follow the above to get the QOpenGLFunctions_4_3_Core pointer. Just remember to ask QGLWidget to create a 4.3 context via QGLFormat (analogous to QSurfaceFormat above). Hope this helps, Sean _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest