change shader properties to be vg_msg based
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / scene_water.fs
index dab1692f465fa3612213d9263c6d02e54fe891a7..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,7 +77,7 @@ vec4 water_surf( vec3 halfview, vec3 vnorm, float depthvalue,
 {
    vec3 surface_tint = mix(uShoreColour, uOceanColour, depthvalue);
 
-   float ffresnel = pow(1.0-dot( vnorm, halfview ),5.0);
+   float ffresnel = pow(1.0-dot( vnorm, halfview ),uFresnel);
 
    vec3 lightdir = vec3(0.95,0.0,-0.3);
    vec3 specdir = reflect( -lightdir, vnorm );
@@ -118,8 +121,8 @@ void main()
    // Surface colour composite
    float depthvalue = clamp( -world_water_depth(aCo)*(1.0/25.0), 0.0,1.0 );
 
-   vec2 world_coord = aCo.xz * 0.008;
-   vec4 time_offsets = vec4( uTime ) * vec4( 0.008, 0.006, 0.003, 0.03 );
+   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;