我需要将我的代码从c++/OpenGL和Config.txt的情况移动到一个UI友好的空间。我被告知在这里尝试Qt并在Windows中安装它。
我遇到的问题是它不支持我开箱即用的OpenGL版本,我不得不使用-opengl desktop参数重新构建。
第一次这样做,但能够按照说明(和大量的谷歌),它"成功"建成。我现在的问题是我不确定如何使我与Qt Creator工作的文件。
我将git创建的qt5文件夹中的所有文件夹复制到Qt5.0.1/5.0.1/Src中的Src文件夹中,但hellogl示例仍然无法构建。
我检查了选项,它指向Qt5.0.1/5.0.1/msvc2010/bin中的qmake,所以我从qtbase/qmake复制了qmake.exe到这个文件夹(重命名旧的),现在Qt Creator在我的Windows系统上构建了hellogl示例。
我担心的是,我这样做是正确的吗?我摸索了一下,得到了一些的东西,但是这是我应该在从git构建qt5之后继续进行的方式吗?如果不是的话,我应该用什么样的方式让它与Qt Creator一起工作?
在Qt中利用现代OpenGL特性集(后固定函数管道)的典型方法是通过使用扩展牧人(GLEW),在Qt包含任何OpenGL头文件之前找到图形驱动程序支持的所有OpenGL函数。
要完成此操作,只需执行以下操作:
-
如果你还没有,下载GLEW(或其他扩展wrangler,如果你愿意),并安装在你的系统路径。我建议使用32位包,因为它更容易使用。
-
#include glew.h
在你的源代码之前,任何其他Qt头包括可能使用OpenGL头。为了安全起见,将glew.h作为源代码中的第一个头文件。 -
在Qt项目的。pro文件中添加
LIBS += -lGLEW
(mac/linux)或LIBS += -lglew32
(windows)。
注意:在实现使用后固定函数管道设施的应用程序时,要注意使用Qt OpenGL包装器。Qt 5的OpenGL包装器都使用OpenGL ES 2.0规范运行,当与OpenGL 3/4代码交错时可能会导致问题。由于QPainter大量使用固定函数转换堆栈,因此在QGLWidget上执行过度绘制时,甚至QPainter也会变得很麻烦。我目前正在开发一个名为QGLX的库,它提供了符合现代桌面OpenGL规范的替代Qt包装器。Qt 4的测试版有望在今年年底发布。Qt 5。