change shader properties to be vg_msg based
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / impl.c
index 746279473a3d9526dd6bb94f9253b88344525f24..eeebab19d159bfc980dd3fab9445588456fd68ef 100644 (file)
@@ -5566,12 +5566,15 @@ struct vg_shader _shader_scene_water = {
 "\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"
@@ -5940,7 +5943,7 @@ struct vg_shader _shader_scene_water = {
 "   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"
@@ -5960,7 +5963,7 @@ struct vg_shader _shader_scene_water = {
 "   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"
@@ -6020,8 +6023,7 @@ struct vg_shader _shader_scene_water = {
 "{\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"
@@ -6065,8 +6067,7 @@ struct vg_shader _shader_scene_water = {
 "   // 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"
@@ -6108,6 +6109,9 @@ GLuint _uniform_scene_water_uBoard0;
 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;
@@ -11299,6 +11303,9 @@ void vg_auto_shader_link(void)
    _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" );