public static FMatrix4x4 CreateLookatProjView(Vector3 cameraPosition, Vector3 cameraLookat, Vector3 up, Size renderTargetSize, float vFov = (float)Math.PI / 4, float znear = 5.0f, float zfar = 1000.0f) { var aspect = renderTargetSize.Width / (float)renderTargetSize.Height; return(FMatrix4x4.PerspectiveFovRH(vFov, aspect, znear, zfar) * FMatrix4x4.ViewLookAtRH(cameraPosition, cameraLookat, up)); }
public void LookAt() => Trials(1000, r => { var a = RandomVector3(r); var b = RandomVector3(r); var c = RandomVector3(r); AssertAlike(FMatrix4x4.ViewLookAtRH(a, b, c), Matrix4x4.CreateLookAt(a, b, c)); });