X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fscene_terrain.fs;h=47a98892cd15fb76e89e14ac2643bcb2fe5c3ea9;hb=refs%2Fheads%2Fmaster;hp=7f7648a045a5c8a90eb1a97207917039de294cce;hpb=aa4c26eae2208872824e0eb5b71bc05c16d43242;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/scene_terrain.fs b/shaders/scene_terrain.fs index 7f7648a..47a9889 100644 --- a/shaders/scene_terrain.fs +++ b/shaders/scene_terrain.fs @@ -1,17 +1,10 @@ uniform sampler2D uTexGarbage; uniform sampler2D uTexGradients; uniform vec3 uCamera; -uniform vec3 uSandColour; +uniform vec4 uSandColour; uniform vec2 uBlendOffset; -uniform vec3 uBoard0; -uniform vec3 uBoard1; - -in vec2 aUv; -in vec4 aNorm; -in vec3 aCo; -in vec3 aWorldCo; -flat in ivec4 aLights; +#include "light_clearskies_stddef.glsl" #include "common_scene.glsl" #include "motion_vectors_fs.glsl" @@ -40,11 +33,10 @@ 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); + float amtsand = clamp( max((aCo.y - 10.0) * -0.1,0.0)*qnorm.y, 0.0, 1.0 ); vec2 uvgradients = aUv + vec2( amtgrass + rgarbage.a*0.8 )*uBlendOffset; vfrag = texture( uTexGradients, uvgradients ).rgb; - vfrag = mix( vfrag, uSandColour, amtsand ); - + vfrag = mix( vfrag, uSandColour.rgb, amtsand*uSandColour.a ); qnorm = mix( qnorm, aNorm.xyz, amtsand ); if( g_light_preview == 1 ) @@ -52,6 +44,6 @@ void main() vfrag = vec3(0.5); } - vfrag = scene_do_lighting( vfrag, qnorm ); + vfrag = scene_compute_lighting( vfrag, qnorm, aWorldCo ); oColour = vec4(vfrag, 1.0); }