Waterfall Masking Function

Hey all, I wanted to share a brief write-up I did for a waterfall material I recently made, which involves getting per-pixel volumetric intersection data using a 2D render target and sampling it in a river material to build a kind of canopy mask effect.