1

我想要一个带有两个 OpenGL 区域的 GTK GUI,这些区域将绘制不同的场景。有谁知道这样做的代码示例?

这篇博客文章提供了一个完整的工作示例,但是当我尝试添加第二个 OpenGL 绘图区域时,似乎 OpenGL 将两个场景都绘制到了同一个小部件上。这当然是错误的。

4

1 回答 1

0

您可以使用其中的任意数量:

    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()
于 2012-07-16T06:46:44.833 回答