"\n"
"uniform vec3 uShoreColour;\n"
"uniform vec3 uOceanColour;\n"
+"uniform float uFresnel;\n"
+"uniform float uWaterScale;\n"
+"uniform vec4 uWaveSpeed;\n"
"\n"
"#line 1 1 \n"
"// :D\n"
"const float CLEARSKIES_LIGHT_DOT_MIN = 0.0;\n"
"\n"
-"#line 16 0 \n"
+"#line 19 0 \n"
"#line 1 2 \n"
"// :D\n"
"\n"
" return world_compute_lighting( diffuse, normal, co, compute_board_shadow() );\n"
"}\n"
"\n"
-"#line 17 0 \n"
+"#line 20 0 \n"
"#line 1 3 \n"
"const float k_motion_lerp_amount = 0.01;\n"
"\n"
" oMotionVec = (vmotion1-vmotion0) * (1.0/k_motion_lerp_amount);\n"
"}\n"
"\n"
-"#line 18 0 \n"
+"#line 21 0 \n"
"\n"
"// Pasted from common_world.glsl\n"
"vec3 water_compute_lighting( vec3 diffuse, vec3 normal, vec3 co )\n"
"{\n"
" vec3 surface_tint = mix(uShoreColour, uOceanColour, depthvalue);\n"
"\n"
-" //TODO: Make exponent a material param (default: 5.0)\n"
-" float ffresnel = pow(1.0-dot( vnorm, halfview ),0.8);\n"
+" float ffresnel = pow(1.0-dot( vnorm, halfview ),uFresnel);\n"
"\n"
" vec3 lightdir = vec3(0.95,0.0,-0.3);\n"
" vec3 specdir = reflect( -lightdir, vnorm );\n"
" // Surface colour composite\n"
" float depthvalue = clamp( -world_water_depth(aCo)*(1.0/25.0), 0.0,1.0 );\n"
"\n"
-" //TODO: Material param (default: 0.008)\n"
-" vec2 world_coord = aCo.xz * 0.12;\n"
+" vec2 world_coord = aCo.xz * uWaterScale;\n"
" //TODO: Material param ( 0.008, 0.006, 0.003, 0.03 );\n"
" vec4 time_offsets = vec4( uTime ) * vec4( 0.08, -0.08, -0.03, -0.01 );\n"
" vec4 dudva = texture( uTexDudv, world_coord + time_offsets.xy )-0.5;\n"
GLuint _uniform_scene_water_uBoard1;
GLuint _uniform_scene_water_uShoreColour;
GLuint _uniform_scene_water_uOceanColour;
+GLuint _uniform_scene_water_uFresnel;
+GLuint _uniform_scene_water_uWaterScale;
+GLuint _uniform_scene_water_uWaveSpeed;
GLuint _uniform_scene_water_g_world_depth;
GLuint _uniform_scene_water_uLightsArray;
GLuint _uniform_scene_water_uLightsIndex;
_uniform_scene_water_uBoard1 = glGetUniformLocation( _shader_scene_water.id, "uBoard1" );
_uniform_scene_water_uShoreColour = glGetUniformLocation( _shader_scene_water.id, "uShoreColour" );
_uniform_scene_water_uOceanColour = glGetUniformLocation( _shader_scene_water.id, "uOceanColour" );
+ _uniform_scene_water_uFresnel = glGetUniformLocation( _shader_scene_water.id, "uFresnel" );
+ _uniform_scene_water_uWaterScale = glGetUniformLocation( _shader_scene_water.id, "uWaterScale" );
+ _uniform_scene_water_uWaveSpeed = glGetUniformLocation( _shader_scene_water.id, "uWaveSpeed" );
_uniform_scene_water_g_world_depth = glGetUniformLocation( _shader_scene_water.id, "g_world_depth" );
_uniform_scene_water_uLightsArray = glGetUniformLocation( _shader_scene_water.id, "uLightsArray" );
_uniform_scene_water_uLightsIndex = glGetUniformLocation( _shader_scene_water.id, "uLightsIndex" );