質問

私のマシンは、明らかに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で、最新のCatalyst 12.1ドライバーを備えたAMD Radeon HD 6450カードを使用しています。このコードは3年前にいくつかのNvidiaカードで機能し、Pygletのドキュメントからほぼ直接的なものであるため、ドライバーなどと関係があるに違いないと思います。誰かが私がfutzで必要な設定を知っている人、または特定のドライバーバージョンが正しく機能するかどうかを知っていますか?

役に立ちましたか?

解決

Radeon HD 4870を使用してWindows 7で触媒12.2を実行しているのと同じ問題があるようです。古いGeforce 8800 GTX、特にFPS_Counterとラベルの描画がまだ機能していたこのカードに移動した後、私の以前のコードも部分的に動作しなくなりました。 、バッチを描くことはありませんでした。

ビデオドライバーをCatalyst 11.5に格下げした後、問題は消えました(スニペットの上に、以前のコードを使用して)。

後のバージョンの触媒が機能する可能性があります。私はこれを最初に試しました。 http://groups.google.com/group/pyglet-users/msg/ae317c37ce54c107

アップデート: テスト済み触媒11.12(最新の11.xリリース、ビデオドライバーバージョン8.920.0.0000)と問題が返されました。

更新2: さらにテストすると、この問題は触媒11.9(ビデオドライバー8.892.0.0000)で発生し始めたようです。 Catalyst 11.8(ビデオドライバー8.881.0.0000)は、予想どおりに機能しました。

ワークアラウンドは使用することです v2f それ以外の v2i に従って このコメント Pyglet Issue Trackerで。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top