2012-02-20 7 views
1

私のマシンは、明らかにピグレットに頂点リストを描画しません。次のコードは、ウィンドウ内の異なる位置に2つの同一形状をレンダリングします.1つは頂点リストを使用し、もう1つは直線draw()を使用します。描画されたものは直接レンダリングされますが、頂点リストはレンダリングされません。pyglet頂点リストはレンダリングされません(AMDドライバ?)

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() 

これは、最新のCatalyst 12.1のドライバとAMDのRadeon HD 6450カードを使用して、Ubuntuの明晰でpyglet 1.1.2です。このコードは3年前にいくつかのNVIDIAカードで動作していたため、ドライバーなどとは何かに違いないと思います。ほとんどの場合、pygletのドキュメントから直接得られます。誰もが私はfutzする必要がある設定を知っている、または特定のドライバのバージョンが正しく動作する場合は?

+0

投稿したコードに同じ問題があります。 Radeon HD 4870を搭載したWindows 7上でCatalyst 12.2を実行しています。以前のGeode 8800 GTX、特にfps_counterからこのカードに移動した後も一部の以前のコードが部分的に動作しなくなりました。 。今すぐCatalyst 11.5を試してみてください。 – Eric

答えて

1

Radeon HD 4870を搭載したWindows 7上でCatalyst 12.2を稼動させる場合と同じ問題があるようです。以前のGeforce 8800 GTX、特にfps_counterからこのカードに移動した後、ラベルの描画はまだ動作し、バッチを描画していませんでした。

ビデオドライバをCatalyst 11.5にダウングレードした後、上記のスニペットと以前のコードで問題が解決しました。

それ以降のバージョンのCatalystが動作する可能性があります。それはoverhere多少正常に動作して言及されているので、私は最初にこれを試してみました:http://groups.google.com/group/pyglet-users/msg/ae317c37ce54c107

更新:テスト済みのCatalyst 11.12(最新の11.xリリース、ビデオドライバのバージョン8.920.0.0000)、問題が戻ってきたし。

更新2:これ以上のテストでは、この問題がCatalyst 11.9(ビデオドライバ8.892.0.0000)で発生しているようです。 Catalyst 11.8(ビデオドライバ8.881.0.0000)は期待どおりに動作しました。

回避策は、v2iの代わりにthis commentの代わりにv2fをpyglet発行トラッカーで使用することです。

最終更新日:この問題は、Catalyst 12.4(ビデオドライバ8.961.0.0)で修正されているようです。

関連する問題