change shader properties to be vg_msg based
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / scene_water.fs
index 17873083c340c64151ab07200f8a0c6fe45213d0..db92f97bd595cbc4176d8a434662856c0ed93eb1 100644 (file)
@@ -11,6 +11,9 @@ uniform vec3 uBoard1;
 
 uniform vec3 uShoreColour;
 uniform vec3 uOceanColour;
+uniform float uFresnel;
+uniform float uWaterScale;
+uniform vec4 uWaveSpeed;
 
 #include "light_clearskies_stddef.glsl"
 #include "common_scene.glsl"
@@ -74,8 +77,7 @@ vec4 water_surf( vec3 halfview, vec3 vnorm, float depthvalue,
 {
    vec3 surface_tint = mix(uShoreColour, uOceanColour, depthvalue);
 
-   //TODO: Make exponent a material param (default: 5.0)
-   float ffresnel = pow(1.0-dot( vnorm, halfview ),0.8);
+   float ffresnel = pow(1.0-dot( vnorm, halfview ),uFresnel);
 
    vec3 lightdir = vec3(0.95,0.0,-0.3);
    vec3 specdir = reflect( -lightdir, vnorm );
@@ -119,10 +121,8 @@ void main()
    // Surface colour composite
    float depthvalue = clamp( -world_water_depth(aCo)*(1.0/25.0), 0.0,1.0 );
 
-   //TODO: Material param (default: 0.008)
-   vec2 world_coord = aCo.xz * 0.12;
-   //TODO: Material param ( 0.008, 0.006, 0.003, 0.03 );
-   vec4 time_offsets = vec4( uTime ) * vec4( 0.08, -0.08, -0.03, -0.01 );
+   vec2 world_coord = aCo.xz * uWaterScale;
+   vec4 time_offsets = vec4( uTime ) * uWaveSpeed;
    vec4 dudva = texture( uTexDudv, world_coord + time_offsets.xy )-0.5;
    vec4 dudvb = texture( uTexDudv, world_coord *7.0 - time_offsets.zw )-0.5;