Example #1
0
        public FVec4 UnProject(FMat4 viewProjInverse, Fix64 viewX, Fix64 viewY, Fix64 viewWidth, Fix64 viewHeight)
        {
            FVec4 result = this;

            result.x = (result.x - viewX) / viewWidth;
            result.y = (result.y - viewY) / viewHeight;
            result   = result * Fix64.Two - Fix64.One;

            result = result.Transform(viewProjInverse);
            Fix64 wDelta = Fix64.One / result.w;

            result.x *= wDelta;
            result.y *= wDelta;
            result.z *= wDelta;

            return(result);
        }