2017-05-17 24 views
0

GtkGLArea widget을 사용하여 만든 OpenGL 윈도우로 GTK3 기반 응용 프로그램을 개발 중이며 Windows에서 응용 프로그램을 빌드하려면 msys2 64 비트 시스템을 사용하십시오. 응용 프로그램을 빌드하는 데 아무런 문제가 없으며 단일 OpenGL 창에서만 작동합니다. 그러나 내 프로그램은 여러 프로젝트를 처리하도록 설계되었으므로 각 프로젝트마다 하나씩 GtkGLarea를 처리합니다. 이것은 Linux에서 완벽하게 작동합니다. 그러나 창에서, 그것은 하나의 GtkGLArea와 함께 작동하지만, 하나 이상이 사용되자 마자 생성 된 첫번째 것이 활성화되고 다른 창에는 정보가 표시되지 않습니다. 다른 윈도우 중 하나를 클릭하면 첫 번째 윈도우의 내용이 상호 작용하는 윈도우에 표시 될 내용으로 업데이트됩니다 ...Windows 용 GTK3 + OpenGL : 다중 GtkGLArea (즉, OpenGL 컨텍스트)

각 프로그램의 인스턴스를 여러 개 열 수있는 것으로 나타났습니다. 하나의 GtkGLAera가 정상적으로 작동하므로 OpenGL 컨텍스트의 수는 문제가되지 않으며, 내 프로그램의 동일한 발생 내에서의 상호 작용/대화/관리 만이 해당됩니다.

이 문제를 해결할 방법이 있습니까?

답변

0

wglMakeCurrent() analog를 사용하여 현재 컨텍스트를 설정하고 사용 후에 wglMakeCurrent (NULL, NULL)을 호출하여 컨텍스트를 해제해야 다른 위젯이 OpenGL을 사용할 수 있습니다.