X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;ds=sidebyside;f=shaders%2Fterrain.fs;h=6e01684cf9b85bb3825436488f5c2fc2c770e2de;hb=f7db507815e2822d971031c30f25e02b45e9c914;hp=de8958d2d31847c7e587e803b4cd4c70f3754d7a;hpb=6d66c67945f84476d6ac75a0497007cc30bcf58c;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/terrain.fs b/shaders/terrain.fs index de8958d..6e01684 100644 --- a/shaders/terrain.fs +++ b/shaders/terrain.fs @@ -1,8 +1,8 @@ -out vec4 FragColor; - uniform sampler2D uTexGarbage; uniform sampler2D uTexGradients; uniform vec3 uCamera; +uniform vec3 uSandColour; +uniform vec2 uBlendOffset; in vec4 aColour; in vec2 aUv; @@ -11,9 +11,14 @@ in vec3 aCo; in vec3 aWorldCo; #include "common_world.glsl" +#include "motion_vectors_fs.glsl" void main() { + compute_motion_vectors(); + + // Colour + // ------ vec3 vfrag = vec3(0.5,0.5,0.5); // ws modulation @@ -32,9 +37,9 @@ void main() // Colour blending float amtgrass = step(qnorm.y,0.6); float amtsand = min(max((aCo.y - 10.0) * -0.1,0.0)*qnorm.y,1.0); - vec2 uvgradients = aUv + vec2( amtgrass*0.5 + rgarbage.a*0.4, 0.0 ); + vec2 uvgradients = aUv + vec2( amtgrass + rgarbage.a*0.8 )*uBlendOffset; vfrag = texture( uTexGradients, uvgradients ).rgb; - vfrag = mix( vfrag, vec3(1.0,0.9,0.8)*0.9, amtsand ); + vfrag = mix( vfrag, uSandColour, amtsand ); qnorm = mix( qnorm, aNorm, amtsand ); @@ -53,5 +58,5 @@ void main() vfrag = do_light_shadowing( vfrag ); vfrag = apply_fog( vfrag, fdist ); - FragColor = vec4(vfrag, 1.0 ); + oColour = vec4(vfrag, 1.0 ); }