我想要一个带有两个 OpenGL 区域的 GTK GUI,这些区域将绘制不同的场景。有谁知道这样做的代码示例?
这篇博客文章提供了一个完整的工作示例,但是当我尝试添加第二个 OpenGL 绘图区域时,似乎 OpenGL 将两个场景都绘制到了同一个小部件上。这当然是错误的。
您可以使用其中的任意数量:
widget = self.gtkBuilder.get_object('OpenGLDrawAreaOpenGLFuBar')
self.OpenGLGizmo['fubar'] = OPenGLFuBar()
glarea = gtk.gtkgl.DrawingArea( glconfig=self.glconfig,
share_list=None,
render_type=gtk.gdkgl.RGBA_TYPE)
self.OpenGLWidget['fubar'] = glarea
glarea.set_size_request(333, 333)
red = (1.0, 0.0, 0.0, 0.0)
glarea.connect_after('realize', self.OpenGLGizmo['fubar'].realize_main)
glarea.connect('configure_event', self.OpenGLGizmo['fubar'].configure_event)
glarea.connect('expose_event', self.OpenGLGizmo['fubar'].expose_event)
glarea.set_flags(gtk.HAS_FOCUS | gtk.CAN_FOCUS)
glarea.add_events(gtk.gdk.KEY_PRESS_MASK)
glarea.connect('key_press_event', self.OpenGLGizmo['fubar'].key_callback)
widget.add(glarea)
glarea.show()
glarea.realize()
glarea.grab_focus()