X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fscene_water_fast.h;h=6e19ac3424274471f5ff539891d59a42fb6500eb;hb=343d594b37f42a94f220a5089c9db36da9da3ab4;hp=d3a7ac4c64a0ff04c73711cfbaeae57504eafaf1;hpb=192990d6d24e53749ca046fef808a63cf162ab8a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/scene_water_fast.h b/shaders/scene_water_fast.h index d3a7ac4..6e19ac3 100644 --- a/shaders/scene_water_fast.h +++ b/shaders/scene_water_fast.h @@ -111,6 +111,13 @@ static struct vg_shader _shader_scene_water_fast = { " 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" @@ -295,7 +302,7 @@ static struct vg_shader _shader_scene_water_fast = { " 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"