pyglet仅在使用其他绘制命令后才显示形状



Pyglet,windows 10。当启用sample_buffers以获得更好看的图形时,我面临以下问题。只有当出现下面的附加线时,我才能看到我用batch画的任何形状(在这种情况下是一条线(。当它在那里时,batch内容被绘制出来。如果没有,则不会显示任何内容。

当不使用config时,不需要该额外线路
在出现此行为的地方,代码被剥离到最低限度。我怀疑我的配置缺少什么。我已经尝试过通过screen.get_best_config获取初始配置。没有变化。

import pyglet
from pyglet import shapes
config = pyglet.gl.Config(sample_buffers=1, samples=8, double_buffer=False)
window = pyglet.window.Window(960, 540,config=config, resizable=True) 
batch = pyglet.graphics.Batch()
line = shapes.Line(100, 100, 50, 200, width=19, batch=batch)
@window.event
def on_draw():
window.clear()
batch.draw()
pyglet.graphics.draw(2, pyglet.gl.GL_LINES,('v2i', (10, 15, 300, 305)))  #without this line nothing is displayed     

pyglet.app.run()

如果禁用双缓冲(double_buffer=False-请参阅pyglet.gl(,则必须使用glFlush:手动强制执行GL命令

import pyglet
from pyglet import shapes
config = pyglet.gl.Config(sample_buffers=1, samples=8, double_buffer=False)
window = pyglet.window.Window(960, 540,config=config, resizable=True) 
batch = pyglet.graphics.Batch()
line = shapes.Line(100, 100, 50, 200, width=19, batch=batch)
@window.event
def on_draw():
window.clear()
batch.draw()
pyglet.gl.glFlush()  

pyglet.app.run()

最新更新