camera tweak + fix capitalization
parent
2419a89d32
commit
4c41506204
33
Camera.cs
33
Camera.cs
|
@ -2,43 +2,22 @@ using Microsoft.Xna.Framework;
|
||||||
|
|
||||||
namespace Kav
|
namespace Kav
|
||||||
{
|
{
|
||||||
public class Camera
|
public struct Camera
|
||||||
{
|
{
|
||||||
public Matrix Transform { get; set; }
|
public Matrix Transform { get; }
|
||||||
public Matrix Projection { get; set; }
|
|
||||||
public Matrix View
|
public Matrix View
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return Matrix.CreateLookAt(Transform.Translation, Transform.Forward, Transform.Up);
|
return Matrix.CreateLookAt(Transform.Translation, Transform.Translation + Transform.Forward, Transform.Up);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public Matrix Projection { get; }
|
||||||
|
|
||||||
public float FOV { get; set; } = MathHelper.PiOver4;
|
public Camera(Matrix transform, Matrix projection)
|
||||||
public float AspectRatio { get; set; } = 1920f / 1080f;
|
|
||||||
public float NearPlane { get; set; } = 0.1f;
|
|
||||||
public float FarPlane { get; set; } = 200f;
|
|
||||||
|
|
||||||
public Camera(Vector3 position, Quaternion orientation)
|
|
||||||
{
|
|
||||||
Transform = Matrix.CreateFromQuaternion(orientation) * Matrix.CreateTranslation(position.X, position.Y, position.Z);
|
|
||||||
Projection = Matrix.CreatePerspectiveFieldOfView(
|
|
||||||
FOV,
|
|
||||||
AspectRatio,
|
|
||||||
NearPlane,
|
|
||||||
FarPlane
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Camera(Matrix transform)
|
|
||||||
{
|
{
|
||||||
Transform = transform;
|
Transform = transform;
|
||||||
Projection = Matrix.CreatePerspectiveFieldOfView(
|
Projection = projection;
|
||||||
FOV,
|
|
||||||
AspectRatio,
|
|
||||||
NearPlane,
|
|
||||||
FarPlane
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 15
|
# Visual Studio 15
|
||||||
VisualStudioVersion = 15.0.26124.0
|
VisualStudioVersion = 15.0.26124.0
|
||||||
MinimumVisualStudioVersion = 15.0.26124.0
|
MinimumVisualStudioVersion = 15.0.26124.0
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "kav", "kav.csproj", "{34C1B784-AE9C-4EBC-A03A-AC401CB1219A}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kav", "Kav.csproj", "{34C1B784-AE9C-4EBC-A03A-AC401CB1219A}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
Loading…
Reference in New Issue