using SharpGL; using System; using System.Numerics; namespace Graphics { class camera2D { protected Matrix mat; public Vector2 translation { get { return new Vector2((float)mat[0, 3], (float)mat[1, 3]); } set { mat[0, 3] = value.X; mat[1, 3] = value.Y; } } const double maxScale = 18.0; public double scale { get { return mat[0, 0]; } set { mat[0, 0] = Math.Min(value, maxScale); mat[1, 1] = Math.Min(value, maxScale); } } public camera2D() { mat = new Matrix(Matrix.Identity(4)); } } }