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
提交
取消