     vec3 pos = ray_start;
 
     // Move pos by a small bias to avoid self intersection
-    pos += ray_dir * 0.02;
+    pos += ray_dir * 0.005;
 
 
     while (mipmap > -1 && max_iter --> 0)

        // Check if we are out of screen bounds, if so, return
        if (pos.x < 0.0 || pos.y < 0.0 || pos.x > 1.0 || pos.y > 1.0)
        {
            return vec3(0,0,0);
        }

        work_size = textureSize(DownscaledDepth, mipmap).xy;

        {

            // Optional: Abort when ray didn't exactly intersect:
            // if (k < 0.0 && mipmap <= 0) {
                // return vec3(0);
            // } 

            // Clamp k
