为什么我们需要使用 来清除每一帧的屏幕
@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...
}
仅仅重新绘制背景然后在上面绘制其他元素还不够吗?
最佳答案
告诉 OpenGL 清除屏幕可以让它知道不需要保留最后一帧的图像。 OpenGL ES 设计为每一帧从头开始重绘屏幕,因此如果您不清除屏幕,它会假设您想要保留最后一帧的所有数据,并且必须浪费时间将旧图像复制到新帧.
您不必每帧都调用glClearColor
。它只是更改清除颜色缓冲区时将使用的颜色设置。
关于opengl - LibGDX 中的清屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28362927/