if the framebuffer id was not generated by glGenFramebuffers, glBindFramebuffer
needs to create a cached framebuffer.