4 #include <QOffscreenSurface>
5 #include <QOpenGLContext>
6 #include <QSurfaceFormat>
10 QGLWidget *global_share_widget = nullptr;
12 QSurface *create_surface(const QSurfaceFormat &format)
14 QOffscreenSurface *surface = new QOffscreenSurface;
15 surface->setFormat(format);
16 // QWindow *surface = new QWindow;
18 if (!surface->isValid()) {
19 printf("ERROR: surface not valid!\n");
25 QOpenGLContext *create_context(const QSurface *surface)
27 QOpenGLContext *context = new QOpenGLContext;
28 context->setShareContext(global_share_widget->context()->contextHandle());
29 context->setFormat(surface->format());
34 bool make_current(QOpenGLContext *context, QSurface *surface)
36 return context->makeCurrent(surface);