gpt4 book ai didi

qt - 如何在 Qt 5.4 中使用原生 OpenGL?

转载 作者:行者123 更新时间:2023-12-03 14:45:28 29 4
gpt4 key购买 nike

我想使用 Qt 5.4 创建一个窗口并使用普通的 OpenGL 函数渲染该窗口中的一些东西。最近几天,我阅读了很多关于Qt类以及如何初始化OpenGL等等的内容。我认为,我必须处理的主要类是 QOpenGLWindow 或 QOpenGLWidget,但也有 QSurface 和其他一些类。现在我非常不确定接下来要做什么以及我应该使用哪个类来使用普通的 OpenGL 函数,稍后。有人可以更清楚地向我解释我必须做些什么来设置我可以使用普通 OpenGL 的 Qt GUI?

我的其他一些问题是:

  • Qt 在哪一点创建了一个普通的 OpenGL 上下文?我必须使用 QOpenGLContext 吗?
  • QSurface 和 QOpenGLWindow 之间到底有什么区别?在 QOpenGLWindow 示例中,使用了两个类。
  • 除了这个qt东西之外,是否可以使用glew?这里有一些关于用qt设置glew的问题,但我认为我没有真正理解为什么需要glew。

  • 编辑:我与一位同事讨论了这个问题,我们唯一的结论是使用 Offscreen-Rendering。有谁知道另一种解决方案?

    最佳答案

    At which point does Qt create a plain OpenGL context? Do I have to use the QOpenGLContext?



    无论是记录在何处(例如,创建 QOpenGLWidgetQOpenGLWindow 将自动创建上下文),或者您可以随时通过创建 QOpenGLContext 手动创建上下文。目的。

    What is exactly the difference between a QSurface and a QOpenGLWindow? In the QOpenGLWindow example both classes are used.



    一个 QSurface是表示“可绘制表面”(屏幕上或屏幕外)的基类。 QWindow是它的屏幕实现(代表顶级窗口),所以它继承自 QSurface .你可以画一个 QWindow通过使用 OpenGL 或使用基于 CPU 的光栅化器。

    最后, QOpenGLWindowQWindow通过自动创建和管理 OpenGL 上下文(通过 QOpenGLContext)、具有可选的部分更新策略(通过使用 FBO)等提供一些额外功能和便利的子类。

    Is it possible to use glew besides this qt stuff? Here are some question on, which deal with setting up glew with qt, but I think that I did not get the real point of why glew is needed.



    Qt 不碍事 .它不会以任何方式改变您对 OpenGL 的使用。只需使用 Qt 创建窗口和上下文(以完全跨平台的方式),然后您就可以自由使用 GLEW(解析 OpenGL 函数指针、扩展等)或任何 3rd 方 OpenGL 抽象。

    关于qt - 如何在 Qt 5.4 中使用原生 OpenGL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31139270/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com