首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用glew与QT5.4 QOpenGLWidget

使用glew与QT5.4 QOpenGLWidget
EN

Stack Overflow用户
提问于 2015-11-07 14:52:40
回答 1查看 1.2K关注 0票数 0

我正在尝试在新的QOpenGLWidget (出现在QT5.4中)中使用GLEW。虽然我可以很容易地使用旧的QGLWidget,但新的QOpenGLWidget / QOpenGLContext类似乎不能很好地与GLEW协作(我别无选择,我使用的是一个使用GLEW的外部库)。我有以下问题:

  1. 有一个编译时警告(在定义GLEW_H时触发的qopenglfunctions.h .h),我无法避免包含qopenglfunctions.h .h,因为它是由QOpenGLContext包含的。
  2. (不确定它是否相关)在我的应用程序中,我得到了一个OpenGL堆栈下流
  3. (不确定它是否相关)在我的应用程序中,当我尝试创建一个OpenGL上下文当前时,它会导致整个应用程序的一个黑色窗口(我在应用程序中有几个QOpenGLWidgets,并且需要更改上下文,因为我使用的是OpenGL颜色裁剪)。

我想去掉警告,以确定2和3是否与GLEW/QOpenGLWidget不兼容有关。

注意:关于Stackoverflow上的Qt5 5/GLEW已经有几个问题,但是它们都与(旧的) QGLWidget有关,它们的行为非常不同(这个问题与相同的代码/应用程序没有问题)。

代码基位于这里:id=1465 (太大了,不能包含在这里,而且由于长度,我不能要求您查看它,以防万一您想知道)

EN

回答 1

Stack Overflow用户

发布于 2015-12-03 12:44:03

我能够解决以下所有问题(是的!):

  1. 黑色窗口makeCurrent(): I试图使用QOpenGLContext::makeCurrent(Surface* ),它使用了一个Surface*作为参数,我没有正确的参数。现在我使用的是QOpenGLWidget::makeCurrent() (将正确的Surface*传递给上下文);
  2. OpenGL堆栈矩阵下流错误:这个更棘手,这是因为在我的OpenGL呈现功能期间,我第一次在QTextEdit小部件中显示了一些文本,这会导致类似于正在重置堆栈矩阵的OpenGL上下文开关。通过查询文本的更新并在OpenGL呈现功能之外处理它们来修正它;
  3. 警告,因为Qt/GREW.h:这个更容易,因为我不再使用QOpenGLContext (我正在使用QOpenGLWidget进行上下文切换),我不再需要包含QtOpenGL头,不再有任何冲突。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33584082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档