【问题标题】:GTK3 + OpenGL for windows: multiple GtkGLArea (ie. OpenGL contexts)用于 windows 的 GTK3 + OpenGL:多个 GtkGLArea(即 OpenGL 上下文)
【发布时间】:2017-10-17 12:01:39
【问题描述】:

我正在开发一个基于 GTK3 的应用程序,它带有使用 GtkGLArea widget 创建的 OpenGL 窗口,以在我使用 msys2 64 位系统的窗口上构建应用程序。 构建应用程序没有问题,它只适用于单个 OpenGL 窗口。 然而,我的程序设计用于处理多个项目,因此 GtkGLarea,每个项目一个。这非常适用于 Linux。 但是在窗口上,它与一个 GtkGLArea 一起工作,但是一旦使用了多个 GtkGLArea,只有一个(第一个被创建)保持活动状态,并且在其他窗口中不显示任何信息。如果我单击任何其他窗口,则第一个窗口的内容将更新为我正在与之交互的窗口中应显示的内容...

我注意到我可以打开尽可能多的程序实例,每个实例都有一个 GtkGLAera 工作正常,因此 OpenGL 上下文的数量不是问题,只有在我的程序的同一事件中的交互/对话框/管理是。

有没有办法纠正这种行为以及如何纠正?

【问题讨论】:

    标签: windows opengl gtk3 opengl-3 msys2


    【解决方案1】:

    看起来这是一个已修复的已知 GDK Win32 错误。

    Bugzilla bug #789213

    【讨论】:

      【解决方案2】:

      您应该使用 wglMakeCurrent() 模拟来设置当前上下文,使用后您应该调用 wglMakeCurrent(NULL, NULL) 来释放上下文,以便其他小部件能够使用 OpenGL。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-04
        • 1970-01-01
        • 1970-01-01
        • 2021-01-24
        • 2014-06-25
        • 2020-08-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多