small compression
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / scene_water.h
index f36b34ef1246b4394f59aa0b4f3e5e0eb67d388b..588477e3d85a741273f18df6e6bc98ceb617f052 100644 (file)
@@ -103,6 +103,8 @@ static struct vg_shader _shader_scene_water = {
 "   vec4 g_sunset_ambient;\n"
 "   vec4 g_sun_colour;\n"
 "   vec4 g_sun_dir;\n"
+"   vec4 g_board_0;\n"
+"   vec4 g_board_1;\n"
 "\n"
 "   float g_water_fog;\n"
 "   float g_time;\n"
@@ -203,7 +205,7 @@ static struct vg_shader _shader_scene_water = {
 "   return ambient + (light_sun + sky_reflection) * shadow;\n"
 "}\n"
 "\n"
-"#line     42        0 \n"
+"#line     44        0 \n"
 "\n"
 "float world_depth_sample( vec3 pos )\n"
 "{\n"
@@ -213,9 +215,8 @@ static struct vg_shader _shader_scene_water = {
 "\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"
+"   return world_depth_sample( pos ) - ref_depth;\n"
 "}\n"
 "\n"
 "float shadow_sample( vec3 vdir )\n"
@@ -283,7 +284,7 @@ static struct vg_shader _shader_scene_water = {
 "   light_delta = normalize( light_delta );\n"
 "\n"
 "   float quadratic = dist2*100.0;\n"
-"   float attenuation  = 1.0f/( 1.0f + quadratic );\n"
+"   float attenuation  = 1.0/( 1.0 + quadratic );\n"
 "         attenuation *= max( dot( light_delta, normal ), 0.0 );\n"
 "\n"
 "   float falloff = max( 0.0, 1.0-(dist2*light_co.w) );\n"
@@ -399,7 +400,8 @@ static struct vg_shader _shader_scene_water = {
 "float compute_board_shadow()\n"
 "{\n"
 "   // player shadow\n"
-"   float dist_to_player = max( 0.0, sdLine( aWorldCo, uBoard0, uBoard1 )-0.1 );\n"
+"   float dist_to_player = max( 0.0, sdLine( aWorldCo, g_board_0.xyz,\n"
+"                                                      g_board_1.xyz )-0.1 );\n"
 "   float player_shadow = max( 1.0-dist_to_player*2.7, 0.0 );\n"
 "   player_shadow *= player_shadow*player_shadow*player_shadow;\n"
 "\n"
@@ -462,7 +464,7 @@ static struct vg_shader _shader_scene_water = {
 "   vec2 ssuv = gl_FragCoord.xy*uInvRes;\n"
 "   \n"
 "   // Surface colour composite\n"
-"   float depthvalue = clamp( -world_water_depth(aWorldCo)*(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"