我一直在寻找一种在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使用额外的示例缓冲区可能会有所帮助。将窗口线更改为:
这对我有用。
很难说清楚。第一件事可能是把你的暗示从“不在乎”改为“最好”。它可能不会对大多数显卡有太大的影响,但可能会有点帮助。
除此之外,有点难说。这里有一点代码(C++中的,对不起):
下面是我从中得到的输出:
启用“线平滑”(line smoothing)时的差异似乎非常明显。glu DONT__CARE和GL_NICEST的区别(最多)是alot小于so。
相关问题 更多 >
编程相关推荐