我是 OpenGL ES 的新手,我尝试绘制三角形,但我不明白在每一帧上调用 glClear(GL10.GL_COLOR_BUFFER_BIT) 的目的是什么?没有它,屏幕上会出现一些奇怪的伪影。我应该每隔每一帧开始的时间?
谢谢

最佳答案

简化:如果你绘制一个三角形,只有实际包含三角形的帧缓冲区部分会被重绘。因此,如果您绘制一次,然后将其移动一点并在下一帧中再次绘制,而无需调用 glClear,则前一帧的内容仍将存在于帧缓冲区中。

这就是造成伪影的原因,也是每次您怀疑显示的图像中发生某些变化时都应该对帧缓冲区进行 glClear 的原因。对于大多数应用程序,这确实意味着:每一帧。

关于opengl-es - OpenGL ES :Purpose of calling glClear on every frame,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15506110/

10-12 04:20