#ifndef OPENGLWINDOW_H #define OPENGLWINDOW_H #include #include #include class OpenGLWindow : public QWindow, protected QOpenGLFunctions_3_3_Core { Q_OBJECT public: explicit OpenGLWindow(QWindow *parent = 0); void initialize(); void render(); public slots: void renderLater(); void renderNow(); protected: bool event(QEvent *event); void exposeEvent(QExposeEvent *event); void resizeEvent(QResizeEvent *event); private: QOpenGLContext *m_context; QOpenGLShaderProgram m_program; bool m_initialized; bool m_update_pending; }; #endif // OPENGLWINDOW_H