X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;ds=sidebyside;f=shaders%2Fscene_water.fs;h=db92f97bd595cbc4176d8a434662856c0ed93eb1;hb=be5e25dee2c54c2a22ca3bbb5bbe0eb6149343be;hp=17873083c340c64151ab07200f8a0c6fe45213d0;hpb=fbe807d19b8a626c2d75002b286dd794f893473a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/scene_water.fs b/shaders/scene_water.fs index 1787308..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,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;