code: private void init() throws SlickException {
  		IntBuffer buffer = BufferUtils.createIntBuffer(1);
  		EXTFramebufferObject.glGenFramebuffersEXT(buffer); 
  		FBO = buffer.get();
  
  		// for some reason FBOs won't work on textures unless you've absolutely just
  		// created them.
  		try {
  			Texture tex = InternalTextureLoader.get().createTexture(image.getWidth(), image.getHeight(), image.getFilter());
  			
  			EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, FBO);
  			EXTFramebufferObject.glFramebufferTexture2DEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, 
  														   EXTFramebufferObject.GL_COLOR_ATTACHMENT0_EXT,
  														   GL11.GL_TEXTURE_2D, tex.getTextureID(), 0);
  			
  			completeCheck();
  			unbind();
  			
  			// Clear our destination area before using it
  			clear();
  			flush();
  			
  			// keep hold of the original content
  			drawImage(image, 0, 0);
  			image.setTexture(tex);
  			
  		} catch (Exception e) {
  			throw new SlickException("Failed to create new texture for FBO");
  		}
  	}
docs: Initialise the FBO that will be used to render to
  
  @throws SlickException