gpt4 book ai didi

c++ - Qt 5 的多个 OpenGL 视口(viewport)

转载 作者:可可西里 更新时间:2023-11-01 15:24:21 26 4
gpt4 key购买 nike

我想将 3D 场景渲染到不同的视口(viewport)中。这些视口(viewport)包含在“子窗口”中,它们有自己的菜单,如下所示: enter image description here

每个视口(viewport)可以是:

  • 调整大小;
  • 隐藏;
  • 全屏显示;
  • 移至应用程序的另一部分。

所以我们可以有这样的东西: enter image description here

我认为最好将每个视口(viewport)嵌入到包含我的 OpenGL 小部件的 Qt 小部件中(对吗?)。那么如何将我的 3D 场景渲染到多个 Qt OpenGL 小部件中?

最佳答案

I believe it is better to embed each viewport into a Qt Widget containing my OpenGL widget (is that right?).So how can I render my 3D scene into several Qt OpenGL Widgets?

QGlWidget's detailed description 中所述,除了覆盖initializeGL和paintGL,你还需要覆盖resizeGL方法。在resizeGL方法中,需要调整视口(viewport),平截头体。

之后,只需创建小部件并将其放置在屏幕上即可。它们可以彼此完全独立,您可以为每个设置不同的截锥体。

由于您想在这些小部件之间共享 opengl 上下文,请查看 OpenGL context sharing .要真正做到这一点,您需要将 OpenGL 上下文对象作为第一个参数传递给 QGLWidget 的构造函数。 .

关于c++ - Qt 5 的多个 OpenGL 视口(viewport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20518578/

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