AcTools.Render.Base.Cameras.BaseCamera.GetFrustumCorners C# (CSharp) Method

GetFrustumCorners() public method

public GetFrustumCorners ( ) : System.Vector3[]
return System.Vector3[]
        public Vector3[] GetFrustumCorners() {
            var hNear = 2 * MathF.Tan(FovY / 2) * NearZ;
            var wNear = hNear * Aspect;

            var hFar = 2 * MathF.Tan(FovY / 2) * FarZ;
            var wFar = hFar * Aspect;

            var cNear = Position + Look * NearZ;
            var cFar = Position + Look * FarZ;

            return new[] {
                //ntl
                cNear + (Up * hNear / 2) - (Right * wNear / 2),
                //ntr
                cNear + (Up * hNear / 2) + (Right * wNear / 2),
                //nbl
                cNear - (Up * hNear / 2) - (Right * wNear / 2),
                //nbr
                cNear - (Up * hNear / 2) + (Right * wNear / 2),
                //ftl
                cFar + (Up * hFar / 2) - (Right * wFar / 2),
                //ftr
                cFar + (Up * hFar / 2) + (Right * wFar / 2),
                //fbl
                cFar - (Up * hFar / 2) - (Right * wFar / 2),
                //fbr
                cFar - (Up * hFar / 2) + (Right * wFar / 2),
            };
        }
    }