在调用glClear后,surfaceview如何保留颜色?

时间:2013-07-26 18:33:20

标签: android opengl-es-2.0

我刚刚开始学习openGL并且正在研究android并且陷入困境。请看下面的代码: -

    public void onDrawFrame(GL10 arg0) {

    glClear(GL_COLOR_BUFFER_BIT);
}

@Override
public void onSurfaceChanged(GL10 glUnused, int width, int height) {

    glViewport(0,0,width,height);
}

@Override
public void onSurfaceCreated(GL10 glUnused, EGLConfig config) {

    glClearColor(1.0f,0.0f,0.0f,0.0f);
}

这里在onSurfaceCreated中设置颜色,并在onDrawFrame中清除颜色缓冲区。现在一旦清除了颜色缓冲区,为什么表面的颜色仍然与onSurfaceCreated中设置的颜色相同?

1 个答案:

答案 0 :(得分:1)

glClearColor指定用于清除缓冲区的颜色。当您致电glClear时,此颜色将应用于缓冲区。

如果你想要一个黑色的表面改变它:

 glClearColor(0.0f,0.0f,0.0f,0.0f);