@Override
	public void renderBackground(float interpolation)
	{
		Vector2 iOffset = Interpolator.linearInterpolate(oldOffset, offset, interpolation);
		
		drawBlueprintBackground();
		if(R2DFileUtility.textureExists(texturePath.text))
		{
			if(!tex.getTextureLocation().equals(texturePath.text))
				tex = ResourceLoader.getTexture(texturePath.text);
			
			BufferedImage image = tex.getImage();
			Vector2 dim = new Vector2(image.getWidth(),image.getHeight());
			image.flush();
			image = null;
			
			Renderer.startScissor(new Vector2(300,0), new Vector2(screenWidth()-300,screenHeight()));
			
			Renderer.pushMatrix();
				Renderer.translate(new Vector2(iOffset.x, iOffset.y));
				Renderer.scale(new Vector2(scale, scale));
				
				Renderer.drawRect(new Vector2(0,0), dim, tex, 0xffffff, 1.0f);
				
				for(int x=0;x<frameDefiners.size();x++)
				{
					ColliderBox coll = (ColliderBox) frameDefiners.get(x).getCollider();
					coll.drawCollider(0xff0000);
					Fonts.get("Logo").drawString(""+x, coll.pos.x+coll.dim.x, coll.pos.y+coll.dim.y, 10, 0xff0000);
				}
				if(activeDefiner != null)
					activeDefiner.getCollider().drawCollider(0xff0000);
	 		Renderer.popMatrix();
	 		
	 		if(Mouse.getX() > 300)
	 		{
				int y = screenHeight()-Mouse.getY();
				int x = Mouse.getX();
				boolean right = ((x-offset.x)%scale)/(scale) >= 0.5;
				boolean bottom = ((y-offset.y)%scale)/(scale) >= 0.5;
				Renderer.drawLine(new Vector2(0, y-(y-offset.y)%scale+(bottom?scale:0)),new Vector2(screenWidth(), y-(y-offset.y)%scale+(bottom?scale:0)),0xff0000,1.0f);
				
				Renderer.drawLine(new Vector2(x-(x-offset.x)%scale+(right?scale:0), 0), new Vector2(x-(x-offset.x)%scale+(right?scale:0), screenHeight()), 0xff0000, 1.0f);
	 		}
			Renderer.endScissor();
		}
	}