 
         float3 pos;
         bool hit = march (cameraOrigin, rayDir, pos);
+        float4 scenePixelColor = tex2D(_MainTex, i.uv);
 
         if (hit) {
             float sceneDepth = _ProjectionParams.z * Linear01Depth(tex2Dproj(_CameraDepthTexture, UNITY_PROJ_COORD(i.scrPos)).r);

                    distfunc(pos + eps.xyx) - distfunc(pos - eps.xyx),
                    distfunc(pos + eps.xxy) - distfunc(pos - eps.xxy)));

                return float4(float3(0.5) + normal/2, 1);
            }
        }

        return tex2D(_MainTex, i.uv);
    }

ENDCG

    uniform float4 _CamUp;
    uniform float _TanHalfFov;
    // __UNIFORMS

    float4 alphaOver(float4 top, float4 bottom)
    {
        float alpha = (top.a + bottom.a*(1 - top.a));
        float3 color = (top.rgb*top.a + bottom.rgb*bottom.a*(1 - top.a)) / alpha;
        return float4(color.x, color.y, color.z, alpha);
    }

    float blend(float a, float b)
    {
