【问题标题】:How to draw Qt widgets using Horde3d and OpenGL?如何使用 Horde3d 和 OpenGL 绘制 Qt 小部件?
【发布时间】:2012-02-18 00:03:04
【问题描述】:

我想要的是一个使用 Horde3D 显示 3d 场景并使用 Horde3D(或 OpenGL)在 3D 场景之上绘制 QWidget 的 Qt 应用程序。

基本上我想为我的 3D 场景添加 UI。并且这个 UI 应该使用 OpenGL 来绘制。

我已经成功地学习了这个教程:Accelerate your Widgets with OpenGL,还有这个Tutorial - Setup Horde with Qt4

但是当我尝试组合它们时我可以看到我的 3D 场景,但没有 UI 控件。我将 QGraphicsView、QGraphicsScene 和 QGLWidget 与 Horde3d 一起使用。如果我不使用 Horde3D(我的意思是不要初始化它),那么我的 UI 控件会正确呈现。

我面临on Horde3D forums 所述的同样问题。

我该如何解决?

【问题讨论】:

  • Qt UI 消失是我在 Qt 渲染之前忘记重置 OpenGL 状态时遇到的问题。
  • 顺便说一句,我真的应该提到performance is pretty terrible with QGraphicsProxyWidgets。很难让它们在 OpenGL 支持的场景上很好地工作,并正确处理输入。相信我,我已经试过了。

标签: qt qt4 qgraphicsview qgraphicsscene qglwidget


【解决方案1】:

当您使用drawBrackground()进行绘制时,使用Horde3D执行OpenGL渲染最重要的是必须保留GL状态,确保您在渲染Horde3D场景之前保存GL状态并在渲染之后恢复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 2012-09-01
    • 2018-09-29
    • 1970-01-01
    • 2021-09-11
    • 2017-01-30
    • 1970-01-01
    相关资源
    最近更新 更多