【发布时间】:2013-12-27 18:33:01
【问题描述】:
我正在配置一个与 glut 一起工作的程序以与 Qt 一起工作。我正在使用 Qt 5.1.1。从 Qt4 到 Qt5,似乎一些 openGL 功能已经丢失。在我的程序中,我创建了一个 QOpenGLContext 并尝试使用 vbo 渲染到 QWindow。 vbo 部分工作正常。
该程序的其他一些部分依赖于 glew。运行程序时收到以下警告
#warning qopenglfunctions.h is not compatible with GLEW, GLEW defines will be undefined [-Wcpp]
#warning To use GLEW with Qt, do not include <qopengl.h> or <QOpenGLFunctions> after glew.h [-Wcpp]
屏幕输出为黑色。
当我注释掉这一行时
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, vboId);
将 pbo 发送到纹理,随机图像渲染到屏幕。我假设这个随机图像存储在我试图访问的内存中。
显然,你不能同时使用 glew 和 qopengl 函数。
如果您想建议我使用 QGLWidget 而不是带有 QWindow 的 QopenGLContext,请向我解释如何在 Qt 5.1.1 中将 QGLWidget 与 cmake 一起使用。我已经阅读了很多答案,但没有一个在 Qt 5.1.1 中有效。
【问题讨论】: