Android OpenGL混合不起作用,方块消失

Android OpenGL混合不起作用,方块消失,android,opengl-es,Android,Opengl Es,我有一些关于使用openGL的问题 我是使用openGL的新手,我尝试设置正方形的RGB,它可以工作,但在我使用混合函数之后就不工作了。当它重新绘制时,正方形最终消失了 以下是代码的一部分 @Override public void onDrawFrame(GL10 gl) { // clear Screen and Depth Buffer gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

我有一些关于使用openGL的问题 我是使用openGL的新手,我尝试设置正方形的RGB,它可以工作,但在我使用混合函数之后就不工作了。当它重新绘制时,正方形最终消失了

以下是代码的一部分

@Override
public void onDrawFrame(GL10 gl) {
    // clear Screen and Depth Buffer
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

    // Reset the Modelview Matrix
    gl.glLoadIdentity();

    // Drawing
    gl.glTranslatef(0.0f, 0.0f, -5.0f);     // move 5 units INTO the screen
    GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA);
    GLES20.glEnable(GLES20.GL_BLEND);                   // is the same as moving the camera 5 units away
    square.draw(gl);                        // Draw the triangle
    //square.loadGLTexture(gl, this.context);
    gl.glColor4f(red, green, blue, 0f);
    red = red - 0.01f;
    blue = blue - 0.01f;
    green = green - 0.01f;
    GLES20.glDisable(GLES20.GL_BLEND);


}

第一次调用onDrawFrame时,将清除颜色和深度缓冲区,然后绘制一个三角形,然后使用0 alpha值更改颜色


下次调用onDrawFrame时,将再次绘制三角形,但这次使用alpha值0。由于颜色和深度缓冲区都已清除,您可能看到的只是一个空屏幕,因为使用该混合函数的0 alpha可以转换为“完全透明”。

什么是“红色”、“绿色”和“蓝色”初始值?如果他们错了,你在做“gl.glColor4f(红、绿、蓝、0f);”在绘制之后,这可能解释了为什么第二次绘制时它会消失。不管怎样,你给出了一个0 alpha值,这使得下一次它绘制时完全透明。你是在同时使用OpenGL ES 1.1和2.0吗?我在混合方面也有问题,你能看一下吗