diff --git a/RecrownedAthenaeum/View/Camera2D.cs b/RecrownedAthenaeum/View/Camera2D.cs index 94fa626..227cdee 100644 --- a/RecrownedAthenaeum/View/Camera2D.cs +++ b/RecrownedAthenaeum/View/Camera2D.cs @@ -9,7 +9,6 @@ namespace RecrownedAthenaeum.Camera /// public class Camera2D : Camera3D { - /// /// The 2D position. /// diff --git a/RecrownedAthenaeum/View/Camera3D.cs b/RecrownedAthenaeum/View/Camera3D.cs index 88a740e..6681407 100644 --- a/RecrownedAthenaeum/View/Camera3D.cs +++ b/RecrownedAthenaeum/View/Camera3D.cs @@ -13,6 +13,11 @@ namespace RecrownedAthenaeum.Camera /// public class Camera3D { + /// + /// The zoom of the camera. + /// + public float worldScale = 1f; + /// /// Current position in the world. /// @@ -36,7 +41,7 @@ namespace RecrownedAthenaeum.Camera /// /// The view matrix that describes where the camera looks. /// - public Matrix ViewMatrix { get; private set; } + public Matrix ViewMatrix { get; protected set; } /// /// The projection matrix. @@ -51,7 +56,7 @@ namespace RecrownedAthenaeum.Camera /// /// The basic effect that contains the transformations. /// - public BasicEffect BasicEffect { get; private set; } + public BasicEffect BasicEffect { get; protected set; } /// /// Constructs 3D camera with an orthographic projection matrix with dimensions of graphics devices viewport. All changes to matrices should have apply called after changes. @@ -79,6 +84,7 @@ namespace RecrownedAthenaeum.Camera public virtual void Apply() { ViewMatrix = Matrix.CreateLookAt(position, lookAt, upDirection); + worldMatrix *= Matrix.CreateScale(worldScale); BasicEffect.World = worldMatrix; BasicEffect.View = ViewMatrix;