From c68de39c83944944a115f1b6d6a430521644d614 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Wed, 28 Jan 2026 12:58:25 +0300 Subject: [PATCH] fix: MonoGame view matrix calculation issues --- .../Behaviours/MonoGameCamera2D.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Engine.Integration/Engine.Integration.MonoGame/Behaviours/MonoGameCamera2D.cs b/Engine.Integration/Engine.Integration.MonoGame/Behaviours/MonoGameCamera2D.cs index 0d6f811..eafd9db 100644 --- a/Engine.Integration/Engine.Integration.MonoGame/Behaviours/MonoGameCamera2D.cs +++ b/Engine.Integration/Engine.Integration.MonoGame/Behaviours/MonoGameCamera2D.cs @@ -113,10 +113,10 @@ public class MonoGameCamera2D : Behaviour, ICamera2D, IFirstFrameUpdate, ILastFr public void PreDraw() { ProjectionMatrix = Matrix4x4.CreateOrthographicViewCentered(Viewport.Width, Viewport.Height); - ViewMatrix = - Matrix4x4.CreateTranslation(new Vector3D(-Transform.Position.X, -Transform.Position.Y, 0f)) - .ApplyRotationZ(Transform.Rotation * Math.DegreeToRadian) - .ApplyScale(Transform.Scale.X.Max(Transform.Scale.Y)) - .ApplyScale(Zoom); + ViewMatrix = Matrix4x4.Identity + .ApplyScale(Transform.Scale.X.Max(Transform.Scale.Y)) + .ApplyScale(Zoom) + .ApplyRotationZ(-Transform.Rotation * Math.DegreeToRadian) + .ApplyTranslation(new Vector3D(-Transform.Position.X, -Transform.Position.Y, 0f)); } }