我的机器显然不会在 pyglet 中绘制顶点列表。下面的代码在窗口的不同位置呈现两个相同的形状,一个使用顶点列表,另一个使用直线draw()
。直接绘制的渲染很好,而顶点列表根本不渲染。
import pyglet
window = pyglet.window.Window()
w, h = window.get_size()
vl = pyglet.graphics.vertex_list( 4,
('v2i', (100,0, 100,h, 200,h, 200,0)),
('c3B', (255,255,255, 255,0,0,
0,255,0, 0,0,255)) )
@window.event
def on_draw():
window.clear()
vl.draw( pyglet.gl.GL_QUADS )
pyglet.graphics.draw( 4, pyglet.gl.GL_QUADS,
('v2i', (300,0, 300,h, 400,h, 400,0)),
('c3B', (255,255,255, 255,0,0,
0,255,0, 0,0,255)) )
pyglet.app.run()
这是 Ubuntu Lucid 中的 pyglet 1.1.2,使用 AMD Radeon HD 6450 卡和最新的 Catalyst 12.1 驱动程序。我想这一定与驱动程序等有关,因为这段代码三年前在几张 NVIDIA 卡上工作过,而且几乎直接来自 pyglet 文档。任何人都知道我需要使用什么设置,或者某个特定的驱动程序版本是否可以正常工作?