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