]> git.sesse.net Git - nageru/blob - glwidget.cpp
Fiddle a bit to get epoxy and Qt to work better together.
[nageru] / glwidget.cpp
1 #include <qmetatype.h>
2 #include <qdatastream.h>
3 #include <qtextstream.h>
4 #include <qcursor.h>
5 #include <qcoreevent.h>
6 #include <epoxy/gl.h>
7 #include <epoxy/egl.h>
8 #include "context.h"
9 #include "glwidget.h"
10 #include "mixer.h"
11 #include <QCoreApplication>
12 #include <QGuiApplication>
13 #include <QThread>
14 #include <math.h>
15 #include <thread>
16
17 GLWidget::GLWidget(QWidget *parent)
18     : QOpenGLWidget(parent)
19 {
20 }
21
22 GLWidget::~GLWidget()
23 {
24 }
25
26 void GLWidget::initializeGL()
27 {
28         printf("egl context=%p\n", eglGetCurrentContext());
29         //printf("threads: %p %p\n", QThread::currentThread(), qGuiApp->thread());
30
31         QSurface *surface = create_surface(format());
32         QSurface *surface2 = create_surface(format());
33         QSurface *surface3 = create_surface(format());
34         QSurface *surface4 = create_surface(format());
35         start_mixer(surface, surface2, surface3, surface4);
36 }
37
38 void GLWidget::paintGL()
39 {
40         glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
41         glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
42 }