i hope your hapy
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / scene_water.h
index 0fe4e1787cfe6e27f2fa332ddadc32bb0a07c589..5d4a5d2eca2126bacf148802028b9f08bb3e61fb 100644 (file)
@@ -106,6 +106,7 @@ static struct vg_shader _shader_scene_water = {
 "\n"
 "   float g_water_fog;\n"
 "   float g_time;\n"
+"   float g_realtime;\n"
 "   float g_shadow_length;\n"
 "   float g_shadow_spread;\n"
 "\n"
@@ -202,7 +203,7 @@ static struct vg_shader _shader_scene_water = {
 "   return ambient + (light_sun + sky_reflection) * shadow;\n"
 "}\n"
 "\n"
-"#line     41        0 \n"
+"#line     42        0 \n"
 "\n"
 "float world_depth_sample( vec3 pos )\n"
 "{\n"
@@ -287,13 +288,13 @@ static struct vg_shader _shader_scene_water = {
 "\n"
 "   float falloff = max( 0.0, 1.0-(dist2*light_co.w) );\n"
 "\n"
-"   if( light_dir.w < 0.999999 )\n"
-"   {\n"
+"   if( light_dir.w < 0.999999 ){\n"
 "      float spot_theta = max( 0.0, dot( light_delta, -light_dir.xyz ) );\n"
 "      falloff *= max( 0.0, (spot_theta - light_dir.w) / (1.0-light_dir.w) );\n"
 "   }\n"
 "\n"
-"   return light_colour.rgb * attenuation * falloff;\n"
+"   return light_colour.rgb * attenuation * falloff \n"
+"            * step( g_day_phase, light_colour.w );\n"
 "}\n"
 "\n"
 "vec3 scene_calculate_packed_light_patch( uint packed_index, \n"
@@ -303,20 +304,17 @@ static struct vg_shader _shader_scene_water = {
 "\n"
 "   vec3 l = vec3(0.0);\n"
 "\n"
-"   if( light_count >= 1u )\n"
-"   {\n"
+"   if( light_count >= 1u ){\n"
 "      int index_0 = int( ((packed_index >>  2u) & 0x3ffu) * 3u );\n"
 "      int index_1 = int( ((packed_index >> 12u) & 0x3ffu) * 3u );\n"
 "      int index_2 = int( ((packed_index >> 22u) & 0x3ffu) * 3u );\n"
 "\n"
 "      l += scene_calculate_light( index_0, halfview, co, normal );\n"
 "\n"
-"      if( light_count >= 2u )\n"
-"      {\n"
+"      if( light_count >= 2u ){\n"
 "         l += scene_calculate_light( index_1, halfview, co, normal );\n"
 "\n"
-"         if( light_count >= 3u )\n"
-"         {\n"
+"         if( light_count >= 3u ){\n"
 "            l += scene_calculate_light( index_2, halfview, co, normal );\n"
 "         }\n"
 "      }\n"