2017-05-17 67 views
0

我正在開發基於GTK3的應用程序,使用GtkGLArea widget創建OpenGL窗口,在Windows上構建應用程序我使用的是64位的msys2系統。 構建應用程序沒有問題,它只用一個OpenGL窗口就可以工作。 但是,我的程序旨在處理多個項目,因此每個項目都有一個GtkGLarea。這對Linux非常適用。 但是,在窗口上,它可以與一個GtkGLArea一起使用,但只要使用多個窗口,只有一個窗口(第一個被創建)保持活動狀態,並且其他窗口中不顯示任何信息。如果我點擊任何其他窗口,那麼第一個窗口的內容會更新,我應該在與之交互的窗口中顯示內容...GTK3 + OpenGL for windows:多個GtkGLArea(即OpenGL上下文)

我注意到我可以同時打開許多我的程序實例一個GtkGLAera工作得很好,因此OpenGL上下文的數量不成問題,只有在我的程序出現的同一個交互/對話/管理中。

有什麼方法可以糾正這種行爲?

回答

0

您應該使用wglMakeCurrent()模擬來設置當前上下文,使用後應該調用wglMakeCurrent(NULL,NULL)來釋放上下文,以便其他小部件將能夠使用OpenGL。