I didn't intend to go back to the reflections, but when starting on parallax occlusion mapping I noticed I could majorly improveme my algorithm.
The idea is that when I raymarch instead of accepting the latest "hit" i can interpolate based on the 2 depths I have red, I basically need to find the crosssection of the line between the depth values checked and the depth values red in the depth map. This is not as trivial as with POM, but it's some basic linear algebra, so it was fun
Plus some other rules to disregard the pixel.
The improvements are visible, yet the problems are still apparent with the fairly low amount of samples tested - too many times does the object slip through the ray march testing and no
At least there are basically no false positives now in comparison to before.
The next step would be to optimize the ray marching itself, maybe make the steps sensitive to previous depth difference.
Plus I don't reproject the screen right now, this would help in movement so the reflection doesn't appear one frame behind any more.
Obviously if the surface is not 100% smooth these problems are very hard to spot, since the roughness of the material creates noise and therefore a pretty diverse set of inputs anyways.