我刚刚开始学习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中设置的颜色相同?
答案 0 :(得分:1)
glClearColor
指定用于清除缓冲区的颜色。当您致电glClear
时,此颜色将应用于缓冲区。
如果你想要一个黑色的表面改变它:
glClearColor(0.0f,0.0f,0.0f,0.0f);