我一直在寻找一种在OpenGL中消除锯齿的方法,但是它们似乎都不起作用...这是一些示例代码:

import pyglet
from pyglet.gl import *

window = pyglet.window.Window(resizable=True)

@window.event
def on_draw():
    window.clear()
    pyglet.gl.glColor4f(1.0,0,0,1.0)
    glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
    glEnable (GL_BLEND)
    glEnable (GL_LINE_SMOOTH);
    glHint (GL_LINE_SMOOTH_HINT, GL_DONT_CARE)
    glLineWidth (3)
    pyglet.graphics.draw(2, pyglet.gl.GL_LINES,
        ('v2i', (10, 15, 300, 305))
    )

pyglet.app.run()

谁能看到我做错了吗?

最佳答案

允许Pyglet使用额外的样本缓冲区可能会有所帮助。将您的窗口行更改为此:

config = pyglet.gl.Config(sample_buffers=1, samples=4)
window = pyglet.window.Window(config=config, resizable=True)

这对我有用。

10-08 08:23
查看更多