public static Vector3 GetDirectionFromPixel(PotatoScene scene, float pixelPositionX, float pixelPositionY)
        {
            Vector3 V1       = Vector3.Multiply(scene.GetCamera().Right(), pixelPositionX);
            Vector3 V2       = Vector3.Multiply(scene.GetCamera().Up(), pixelPositionY);
            Vector3 pixelPos = Vector3.Add(Vector3.Add(scene.GetOptions().ScreenLeft, V1), V2);

            return(Vector3.Normalize(Vector3.Add(scene.GetCamera().Forward(), pixelPos)));
        }
 public static void SetRayDirectionByPixelPosition(ref Ray ray, PotatoScene scene, float pixelPositionX, float pixelPositionY)
 {
     ray.Set(scene.GetCamera().Position, GetDirectionFromPixel(scene, pixelPositionX, pixelPositionY));
 }