我有一些使用Qt4的代码,我想将它迁移到Qt 5,然后切换到QOpenGL。我不明白来自void paintGL()和void initializeGL()的代码需要放在QWindow中的哪个位置。有人能帮我举个例子吗?
发布于 2014-02-13 14:18:37
我创建了一个将QWindow与OpenGL结合使用的简单示例。
为了简化OpenGL开发,我创建了一个抽象类GLWindow,它包含虚拟函数initializeGL()、paintGL()和resizeGL(int w, int h)。我相信源代码显示了旧样式和新样式之间的关系。
这个例子可以在这里找到:
https://github.com/mortennobel/QtOpenGLChapter/tree/master/OpenGL3xAlt
发布于 2014-02-11 17:28:35
Qt有将小部件放在OpenGL场景上的OpenGL。通过查看这一点,看起来最简单的方法是继承QGLWidget而不是QWidget,并覆盖适当的虚拟函数以进行初始化和绘制。
发布于 2014-02-13 12:31:03
在qtbase/ OpenGL /opengl中使用opengl的标准示例是眼影。
initializeGL和paintGL没有直接替代。相反,你会做这样的事情:
https://stackoverflow.com/questions/21703566
复制相似问题