public static CameraProjection Lerp(CameraProjection left, CameraProjection right, float amount) { return(new CameraProjection { ZNear = MathHelper.Lerp(left.ZNear, right.ZNear, amount), ZFar = MathHelper.Lerp(left.ZFar, right.ZFar, amount), Fov = MathHelper.Lerp(left.Fov, right.Fov, amount) }); }
public static CameraProps Lerp(CameraProps cam1, CameraProps cam2, float amount) { var target = Vector3.Lerp(cam1.Target, cam2.Target, amount); var eye = Vector3.Lerp(cam1.Frame.Eye, cam2.Frame.Eye, amount); var up = Vector3.Lerp(cam1.Frame.Up, cam2.Frame.Up, amount); var frame = new CameraFrame(eye, target - eye, up); var proj = CameraProjection.Lerp(cam1.Projection, cam2.Projection, amount); return(new CameraProps(target, frame, proj)); }
public CameraProps(Vector3 target, CameraFrame frame, CameraProjection projection) { Target = target; Frame = frame; Projection = projection; }