update helpers/location to 'frosted' ui
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / scene_terrain.fs
index 7f7648a045a5c8a90eb1a97207917039de294cce..47a98892cd15fb76e89e14ac2643bcb2fe5c3ea9 100644 (file)
@@ -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);
 }