Opengl es OpenGL ES:在每一帧上调用glClear的目的

Opengl es OpenGL ES:在每一帧上调用glClear的目的,opengl-es,Opengl Es,我是OpenGL ES新手,我尝试画三角形,但我不明白在每一帧上调用glClear(GL10.GL\u COLOR\u BUFFER\u BIT)的目的是什么?如果没有它,屏幕上会出现一些奇怪的瑕疵。我应该在每一帧开始时都调用它吗? 谢谢简化:如果绘制三角形,则只会重新绘制帧缓冲区中实际包含该三角形的部分。因此,如果只绘制一次,然后移动一点,在下一帧中再次绘制,而不调用glClear,则前一帧的内容仍将显示在帧缓冲区中 这就是产生伪影的原因,也是每次怀疑显示的图像中发生了更改时都应该清除帧缓冲区

我是OpenGL ES新手,我尝试画三角形,但我不明白在每一帧上调用glClear(GL10.GL\u COLOR\u BUFFER\u BIT)的目的是什么?如果没有它,屏幕上会出现一些奇怪的瑕疵。我应该在每一帧开始时都调用它吗?
谢谢

简化:如果绘制三角形,则只会重新绘制帧缓冲区中实际包含该三角形的部分。因此,如果只绘制一次,然后移动一点,在下一帧中再次绘制,而不调用glClear,则前一帧的内容仍将显示在帧缓冲区中


这就是产生伪影的原因,也是每次怀疑显示的图像中发生了更改时都应该清除帧缓冲区的原因。对于大多数应用程序,这确实意味着:每一帧。

谢谢你的回答,你说“如果你画一次,然后移动一点,然后在下一帧再画一次”,我不会移动它,但如果我看工件,我会看到三角形与一些移动重叠,但这种转变是如何发生的?@user2187460:这可能是多样本FSAA的产物,可能在您的系统上启用。你也可能会经历一些Z打斗。完成一场纸牌游戏,你会看到不清除颜色缓冲区的效果。