public void PerspectiveFovRH() => Trials(1000, r => {
            var fov          = RandomFloat(r) * 2;
            var aspect       = RandomFloat(r) * 2;
            var(znear, zfar) = RandomFloatOrderedPair(r, 0, 10000);

            AssertAlike(FMatrix4x4.PerspectiveFovRH(fov, aspect, znear, zfar), Matrix4x4.CreatePerspectiveFieldOfView(fov, aspect, znear, zfar));
        });
示例#2
0
        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));
        }