Pyglet,Windows 10。当能够sample_buffers获得更好看的绘图时,我遇到了以下问题。batch仅当存在如下所示的附加线时,我才能看到我绘制的任何形状(在本例中为一条线)。当它出现时,batch内容就会被绘制。当它不存在时,什么也不会显示。当config不使用时,不需要这条额外的线。出现这种行为的代码被精简到最低限度。我怀疑我的配置缺少某些东西。我已经尝试通过 获取初始配置screen.get_best_config。不用找了。import pygletfrom pyglet import shapesconfig = 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.eventdef 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()
1 回答
www说
TA贡献1775条经验 获得超8个赞
如果禁用双缓冲(double_buffer=False
- 请参阅pyglet.gl
),则必须使用以下命令手动强制执行 GL 命令glFlush
:
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()
添加回答
举报
0/150
提交
取消