void UpdateProjection()
{
if ((dirtyFlags & DirtyFlags.Projection) != 0)
{
Matrix.CreatePerspectiveFieldOfView(fov, aspectRatio, nearClipDistance, farClipDistance, out Projection);
dirtyFlags &= ~DirtyFlags.Projection;
}
}