喵喵時(shí)光機(jī)
2023-10-26 10:15:21
Pyglet,Windows 10。當(dāng)能夠sample_buffers獲得更好看的繪圖時(shí),我遇到了以下問題。batch僅當(dāng)存在如下所示的附加線時(shí),我才能看到我繪制的任何形狀(在本例中為一條線)。當(dāng)它出現(xiàn)時(shí),batch內(nèi)容就會(huì)被繪制。當(dāng)它不存在時(shí),什么也不會(huì)顯示。當(dāng)config不使用時(shí),不需要這條額外的線。出現(xiàn)這種行為的代碼被精簡(jiǎn)到最低限度。我懷疑我的配置缺少某些東西。我已經(jīng)嘗試通過 獲取初始配置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貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果禁用雙緩沖(double_buffer=False
- 請(qǐng)參閱pyglet.gl
),則必須使用以下命令手動(dòng)強(qiáng)制執(zhí)行 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()
添加回答
舉報(bào)
0/150
提交
取消