WidgetGL4.h 780 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef __WIDGETGL4_H__
  2. #define __WIDGETGL4_H__
  3. #include <QOpenGLWidget>
  4. #include <QOpenGLFunctions_3_3_Core>
  5. #include <GL/gl.h>
  6. #include "Shader.h"
  7. class WidgetGL4 : public QOpenGLWidget, protected QOpenGLFunctions_3_3_Core
  8. {
  9. Q_OBJECT
  10. public:
  11. explicit WidgetGL4(QWidget *parent = nullptr);
  12. ~WidgetGL4() override;
  13. protected:
  14. void initializeGL() override;
  15. void resizeGL(int w, int h) override;
  16. void paintGL() override;
  17. private:
  18. /* 打印编译错误 */
  19. void printOpenGLCompileError(GLuint errorCode);
  20. /* 打印着色器链接错误 */
  21. void printOpenGLLinkError(GLuint errorCode);
  22. private:
  23. GLuint m_shaderProgam = 0;
  24. GLuint m_VAO = 0;
  25. GLuint m_texture1 = 0;
  26. Shader* m_shader = nullptr;
  27. };
  28. #endif // __WidgetGL4_H__