public bool IsSameState(ICamera camera) { if (camera.Position != this.position) { return false; } if (camera.Target != this.target) { return false; } if (camera.UpVector != this.up) { return false; } return true; }