X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fscene_water.fs;h=db92f97bd595cbc4176d8a434662856c0ed93eb1;hb=be5e25dee2c54c2a22ca3bbb5bbe0eb6149343be;hp=dab1692f465fa3612213d9263c6d02e54fe891a7;hpb=422fe8bd45ecb522ae5b1d90187e95e24a5ad179;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/scene_water.fs b/shaders/scene_water.fs index dab1692..db92f97 100644 --- a/shaders/scene_water.fs +++ b/shaders/scene_water.fs @@ -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;