follow(target, axis, damping) {
		if (target instanceof Renderable) {
			this.target = target.pos;
		} else if (target instanceof Vector2d || target instanceof Vector3d) {
			this.target = target;
		} else {
			throw new Error("invalid target for me.Camera2d.follow");
		}
		// if axis is null, camera is moved on target center
		this.follow_axis = typeof axis === "undefined" ? this.AXIS.BOTH : axis;

		this.smoothFollow = false;

		if (typeof damping !== "number") {
			this.damping = 1;
		} else {
			this.damping = clamp(damping, 0.0, 1.0);
		}

		// force a camera update
		this.updateTarget();

		this.smoothFollow = true;
	}
set the camera to follow the specified renderable. <br>
(this will put the camera center around the given target)
@param {Renderable|Vector2d} target - renderable or position vector to follow
@param {number} [axis=me.game.viewport.AXIS.BOTH] - Which axis to follow (see {@link Camera2d.AXIS})
@param {number} [damping=1] - default damping value
@example
// set the camera to follow this renderable on both axis, and enable damping
me.game.viewport.follow(this, me.game.viewport.AXIS.BOTH, 0.1);