" return texture( g_world_depth, depth_coord ).r;\n"
"}\n"
"\n"
+"float world_water_depth( vec3 pos )\n"
+"{\n"
+" vec2 depth_coord = (pos.xz - g_depth_bounds.xy) * g_depth_bounds.zw; \n"
+" float ref_depth = g_water_plane.y*g_water_plane.w;\n"
+" return texture( g_world_depth, depth_coord ).g - ref_depth;\n"
+"}\n"
+"\n"
"float shadow_sample( vec3 vdir )\n"
"{\n"
" vec3 sample_pos = aWorldCo + vdir;\n"
" compute_motion_vectors();\n"
"\n"
" // Surface colour composite\n"
-" float depthvalue = clamp( -world_depth_sample( aCo )*(1.0/25.0), 0.0, 1.0 );\n"
+" float depthvalue = clamp( -world_water_depth( aCo )*(1.0/25.0), 0.0, 1.0 );\n"
"\n"
" vec2 world_coord = aCo.xz * 0.008;\n"
" vec4 time_offsets = vec4( uTime ) * vec4( 0.008, 0.006, 0.003, 0.03 );\n"