public CameraInfoCache(ICameraInfo cameraInfo) { MatrixView = Matrix4DEx.LookAtRH(cameraInfo.Position.ToVector3D(), cameraInfo.Target.ToVector3D(), cameraInfo.UpVector); MatrixViewInverse = MatrixView.Inverse(); MatrixProjection = cameraInfo.Projection.GetMatrixProjection(); MatrixProjectionInverse = MatrixProjection.Inverse(); MatrixViewport = Matrix4DEx.Viewport(cameraInfo.Viewport); MatrixViewportInverse = MatrixViewport.Inverse(); MatrixViewProjection = MatrixView * MatrixProjection; MatrixViewProjectionInverse = MatrixViewProjection.Inverse(); MatrixViewProjectionViewport = MatrixViewProjection * MatrixViewport; MatrixViewProjectionViewportInverse = MatrixViewProjectionViewport.Inverse(); }