X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fwater.fs;h=eced89aef82cb4e6eedc85f305bda45374a11202;hb=f7db507815e2822d971031c30f25e02b45e9c914;hp=9f9e8be54e5dc41302173050a2711a999a46eb28;hpb=6d66c67945f84476d6ac75a0497007cc30bcf58c;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/water.fs b/shaders/water.fs index 9f9e8be..eced89a 100644 --- a/shaders/water.fs +++ b/shaders/water.fs @@ -1,5 +1,3 @@ -out vec4 FragColor; - uniform sampler2D uTexMain; uniform sampler2D uTexDudv; uniform sampler2D uTexBack; @@ -9,6 +7,9 @@ uniform float uTime; uniform vec3 uCamera; uniform float uSurfaceY; +uniform vec3 uShoreColour; +uniform vec3 uOceanColour; + in vec4 aColour; in vec2 aUv; in vec3 aNorm; @@ -16,13 +17,12 @@ in vec3 aCo; in vec3 aWorldCo; #include "common_world.glsl" +#include "motion_vectors_fs.glsl" vec4 water_surf( vec3 halfview, vec3 vnorm, float depthvalue, vec4 beneath, vec4 above ) { - vec3 colour_shore = vec3( 0.21, 0.6, 0.8 ); - vec3 colour_ocean = vec3( 0.01, 0.1, 0.2 ); - vec3 surface_tint = mix(colour_shore, colour_ocean, depthvalue); + vec3 surface_tint = mix(uShoreColour, uOceanColour, depthvalue); float ffresnel = pow(1.0-dot( vnorm, halfview ),5.0); @@ -42,6 +42,8 @@ vec4 water_surf( vec3 halfview, vec3 vnorm, float depthvalue, void main() { + compute_motion_vectors(); + // Create texture coords vec2 ssuv = gl_FragCoord.xy*uInvRes; @@ -73,5 +75,5 @@ void main() // Composite vec4 vsurface = water_surf( halfview, surfnorm, depthvalue, beneath, above ); vsurface.a -= fdist; - FragColor = mix( vsurface, vec4(1.0,1.0,1.0,0.5), fband ); + oColour = mix( vsurface, vec4(1.0,1.0,1.0,0.5), fband ); }