X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fwater.fs;h=68fc66da863796327914985805df75c1ea1eac89;hb=23ef4d7f6bfe6a5a91c78822b081a9ea63cb74a6;hp=9f9e8be54e5dc41302173050a2711a999a46eb28;hpb=6d66c67945f84476d6ac75a0497007cc30bcf58c;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/water.fs b/shaders/water.fs index 9f9e8be..68fc66d 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; @@ -8,6 +6,11 @@ uniform vec2 uInvRes; uniform float uTime; uniform vec3 uCamera; uniform float uSurfaceY; +uniform vec3 uBoard0; +uniform vec3 uBoard1; + +uniform vec3 uShoreColour; +uniform vec3 uOceanColour; in vec4 aColour; in vec2 aUv; @@ -16,13 +19,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 +44,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 +77,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 ); }