OpenGL-先清除颜色或清除缓冲区

OpenGL-先清除颜色或清除缓冲区,opengl,lwjgl,Opengl,Lwjgl,我最近查阅了OpenGL文档,发现glClear(GL\u COLOR\u BUFFER\u BIT)使用glClearColor设置的颜色清除颜色缓冲区。根据YouTube上的密码,glClearColor应该在glClear之前调用。这是正确的吗?我不认为是这样,但为什么它仍然有效呢?清除缓冲区然后设置颜色会产生任何不良结果吗?实际上没有区别。如果在清除颜色缓冲区后设置“清除颜色”,则opengl会记住它,并且下次清除缓冲区时(下一帧),它将被清除为该颜色。因此,第一帧将具有不同的清晰颜色,

我最近查阅了OpenGL文档,发现glClear(GL\u COLOR\u BUFFER\u BIT)使用glClearColor设置的颜色清除颜色缓冲区。根据YouTube上的密码,glClearColor应该在glClear之前调用。这是正确的吗?我不认为是这样,但为什么它仍然有效呢?清除缓冲区然后设置颜色会产生任何不良结果吗?

实际上没有区别。如果在清除颜色缓冲区后设置“清除颜色”,则opengl会记住它,并且下次清除缓冲区时(下一帧),它将被清除为该颜色。因此,第一帧将具有不同的清晰颜色,这并不重要


虽然为了练习,我会把它放在前面。

您不必调用
glClearColor(…)
。与OpenGL中的所有内容一样,在本例中,清除颜色有一个默认值(0,0,0,0)。此外,与OpenGL中的其他内容一样,您只需设置一次值,它就会为您记住它。无关,但YouTube何时成为合法的信息来源是的,但一般来说,如果我想将缓冲区清除为某种颜色,我应该在清除它之前设置颜色吗?这是我的问题。是的,在执行
glClear(…)
之前需要设置清晰的颜色。