同一个应用有两个窗口分别用OSG与OPENGL绘制,使用的窗口空间都是QGLWidget。
1) 绘制OPENGL窗口;2)开启OSG窗口,绘制一次;3)然后回到OPENGL窗口绘制图形。4)销毁OSG窗口。
这时OPENGL窗口的绘制状态受到了OSG窗口的影响。
反复测试,找不到原因。如果销毁窗口的时候,释放OSG创建的Context,可解决这个问题。
猜测是OSG窗口的OPENGL的gl状态穿越了,没有更好的办法解决这个问题。不知道绘制背后的gl状态如何相互影响,待以后有时间研究。
Robertosfield的一段话,对这个问题做了说明:
Mixing OpenGL apps/toolkits with the OSG requires one to be very