I saw different opinions. For now, I only conce about color data.
In Chapter 28. Graphics Pipeline Performance, it says:
Avoid extraneous color-buffer clears. If every pixel is guaranteed to be overwritten in the frame buffer by your application, then avoid clearing color, because it costs precious bandwidth.
In How does glClear() improve performance?, it quotes from Apple's Technical Q&A on addressing flickering (QA1650):
You must provide a color to every pixel on the screen. At the begiing of your drawing code, it is a good idea to use glClear() to initialize the color buffer. A full-screen clear of each of your color, depth, and stencil buffers (if you're using them) at the start of a frame can also generally improve your application's performance.
And one answer in that post:
By issuing a glClear command, you are telling the hardware that you do not need previous buffer content, thus it does not need to copy the color/depth/whatever from the framebuffer to the smaller tile memory.
To that answer, my question is: If there is no blending, why do we need to read color data from the framebuffer. (For now, I only conce about color data)
But anyway, in general, do I need to call glClear(GL_COLOR_BUFFER_BIT)
