I guess your window consists of different viewports, and you don't want to redraw all image for each frame.
Normally in each rendering, we clears the back buffer with glClear() call.
Therefore we have to redraw all the scene again. In your case you have to redraw all viewports.
If you want to clear a viewport without clearing the data outside of it, you can use glScissor() function.
void glScissor( GLint x,