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