Center(); function of 3D camera now also sets Z position to 0. Changed order of multiplication for matrices.

This commit is contained in:
2019-02-06 15:40:54 -06:00
parent 3bd3b0f9f6
commit 85188e859f
3 changed files with 27 additions and 2 deletions

View File

@@ -61,7 +61,6 @@ namespace RecrownedAthenaeum.Camera
{
this.graphicsDevice = graphicsDevice ?? (Configuration.GraphicsDeviceManager.GraphicsDevice);
position.Z = 0;
worldMatrix = Matrix.Identity;
lookAt = Vector3.Forward;
upDirection = Vector3.Up;
@@ -76,7 +75,7 @@ namespace RecrownedAthenaeum.Camera
public virtual void Apply()
{
ViewMatrix = Matrix.CreateLookAt(position, lookAt, upDirection);
TransformationMatrix = worldMatrix * ViewMatrix * projectionMatrix;
TransformationMatrix = projectionMatrix * ViewMatrix * worldMatrix;
}
/// <summary>
@@ -84,6 +83,7 @@ namespace RecrownedAthenaeum.Camera
/// </summary>
public void Center()
{
position.Z = 0;
position.X = this.graphicsDevice.Viewport.Width * 0.5f;
position.Y = this.graphicsDevice.Viewport.Height * 0.5f;
}