public void UpdateViewMatrix()
{
Rotation = Matrix.CreateRotationX(RotationY) * Matrix.CreateRotationY(RotationX);
Vector3 cameraRotatedTarget = Vector3.Transform(Vector3.Forward, Rotation);
Vector3 cameraFinalTarget = Position + cameraRotatedTarget;
Vector3 cameraOriginalUpVector = new Vector3(0, 1, 0);
Vector3 cameraRotatedUpVector = Vector3.Transform(cameraOriginalUpVector, Rotation);
View = Matrix.CreateLookAt(Position, cameraFinalTarget, cameraRotatedUpVector);
Frustrum = new BoundingFrustum(View * Projection);
}