在JOGL中跨多个QWidgets共享VBO

时间:2011-04-28 02:35:06

标签: qt opengl jogl vbo

我正在尝试与相同的GL3上下文共享创建四个QGLWidgets,因此我可以在它们之间共享一个VBO。我只用一个小部件做了一段时间,但它没有与其他小部件共享。 QGLWidget有一个sharewith参数,根据我的理解自动分享它们之间的上下文,但我不确定它与JOGL的兼容性如何。

我还对实际创建上下文时感到困惑。在某些示例中,它表示在initializeGL中创建上下文。我不确定这是否意味着我必须在创建辅助小部件之前更新第一个小部件(将sharewith参数传递给第一个使用当前上下文创建的小部件)。

有人能为我提供一个简单的例子来实现这个功能吗?我只需要创建四个上下文共享的GLWidgets,它们都运行GL3配置文件。

1 个答案:

答案 0 :(得分:0)

虽然我没有使用JOGL,但我正在做类似的事情herehere。基本思想是您创建一个隐藏的QGLWidget,使其成为当前并编译所有着色器,然后将其作为shareWidget传递给您的子视口。每当您想上传几何图形时 使隐藏的QGLWidget保持最新状态并执行glBufferData调用 - 数据可用于其他视口上下文。