如何使用Pyglet绘制透明图元

时间:2016-12-13 14:30:22

标签: python python-2.7 opengl pyglet

我希望以下代码显示任何透明度正方形。我尝试了255(不透明),0(完全透明),128(一半),但似乎没有任何效果。

pyglet.graphics.draw(4, pyglet.gl.GL_QUADS,
                     ('v2f', (0,   0,        # point0
                              0,  32,        # point1
                              32, 32,        # point2
                              32,  0)        # point3
                     ),
                     ('c4B', (255, 0, 0, 128, # color for point0
                              0, 255, 0,   1, # color for point1
                              0, 0, 255, 255, # color for point2
                              0, 0,   0,   0) # color for point3
                     )
                    ) # end draw()

这很好用,它会产生一个带渐变的正方形。 正方形是在精灵上绘制的,我希望能够通过正方形看到精灵。

Image of my output.

  • Pyglet v1.2.4

1 个答案:

答案 0 :(得分:1)

上面的代码是

我只需要在我的程序中添加以下内容:

    pyglet.gl.glEnable(pyglet.gl.GL_BLEND)
    pyglet.gl.glBlendFunc(pyglet.gl.GL_SRC_ALPHA, pyglet.gl.GL_ONE_MINUS_SRC_ALPHA)