为什么源混合与已清除的帧缓冲区中的垃圾混合?

时间:2016-05-08 01:02:02

标签: opengl pyopengl

我打电话

    gl.glClearColor(*[ 0., 0., 0.0, a])
    gl.glClear(gl.GL_COLOR_BUFFER_BIT)
    gl.glBlendFunc(gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA)

然后我画了我的场景。

如果a为零,则表示没有清除任何内容,缓冲区似乎是来自其他帧缓冲区的内容。如果a为1,则缓冲区显示为清除,但当我混合矩形时,我开始看到来自其他帧缓冲区的内容。

为什么会这样,我该如何解决?

我指定了0个depht缓冲区位和8个alpha缓冲区位:

gl_format = QSurfaceFormat()
gl_format.setVersion(4, 1)
gl_format.setAlphaBufferSize(8)
gl_format.setDepthBufferSize(0)
gl_format.setProfile(QSurfaceFormat.CoreProfile)
gl_format.setSamples(8)

0 个答案:

没有答案