我有以下问题:
我想获得一个由许多视图组成的应用程序,这些视图从不同的角度、照明和其他选项渲染一个常见的 OpenGL 场景。
基本上,我的问题是用 qt 做到这一点的最佳方法是什么?
我的第一次尝试是创建多个 QOpenGLWidget 并获得一个常见的 QOpenGLContext ,我在其中存储纹理以及网格和着色器。但它不适用于网格,因为顶点数组对象似乎不可共享。经过多次尝试,一个可能的解决方案是为每个需要网格的小部件存储一个 VAO,但这看起来真的很糟糕。
所以,我想知道这种问题是否有一个很好的替代方案,或者可能有一个很好的文档来理解这些 QOpenGLContext 是如何工作的。
我想象的最简单的想法是只创建一个 QOpenGLContext 并在不同的小部件中使用它。但我不知道如何单独创建一个 QOpenGLContext 也不知道什么样的 QWidgets 能够显示这些渲染。
这是我的第一篇文章,所以我不知道它是否足够清楚,或者我是否需要描述我的整个架构。