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); }