私のマシンはどうやら pyglet で頂点リストを描画しません。次のコードは、ウィンドウ内の異なる位置に 2 つの同一の形状をレンダリングします。1 つは頂点リストを使用し、もう 1 つは直線を使用し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 ドライバーを使用しています。このコードは 3 年前にいくつかの NVIDIA カードで動作し、pyglet のドキュメントからほぼそのままなので、ドライバーなどと関係があるに違いないと思います。どの設定をいじる必要があるか、または特定のドライバーのバージョンが正しく動作するかどうかを知っている人はいますか?