code: def bind(self):
          
          # This is called simply to deal with anything that might be currently bound (for example, Pyglet objects),
          gl.glBindTexture(gl.GL_TEXTURE_2D, 0)
  
          # Store current viewport size for later
          self._old_viewport = get_viewport()
  
          # Bind the FBO, and change the viewport to fit its texture.
          gl.glBindFramebufferEXT(gl.GL_FRAMEBUFFER_EXT, self.id)  # Rendering off-screen
          gl.glViewport(0, 0, self.texture.width, self.texture.height)
docs: Bind the FBO.  Anything drawn afterward will be stored in the FBO's texture.