清除LibGDX中的屏幕

时间:2015-02-06 09:51:17

标签: opengl libgdx

为什么我们需要使用

清除每一帧的屏幕
@Override
public void render() {

    Gdx.graphics.getGL20().glClearColor( 1, 0, 0, 1 );
    Gdx.graphics.getGL20().glClear( GL20.GL_COLOR_BUFFER_BIT |  GL20.GL_DEPTH_BUFFER_BIT );

    // scene render code...

}

仅仅重新绘制背景,然后重新绘制其他元素是不够的?

1 个答案:

答案 0 :(得分:3)

告诉OpenGL清除屏幕让它知道它不需要保留最后一帧的图像。 OpenGL ES设计用于从头开始重绘每个帧的屏幕,因此如果您不清除屏幕,它会假定您要保留最后一帧中的所有数据,并且不得不浪费时间将旧图像复制到新框架。

您不必每帧都致电glClearColor。它只是更改清除颜色缓冲区时将使用的颜色设置。