X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fterrain.fs;fp=shaders%2Fterrain.fs;h=456d08e779c28e605a408bb41b21c08b41eb6aa5;hb=168eb5c363f510d60703498e01ffcdb52bf9fd07;hp=84482af91af1a9fc8b7fd9e5b90f1d04abbe4bda;hpb=ecc4dfbfb3adf91d2dfc03ba0ec9a821fcc2390c;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/terrain.fs b/shaders/terrain.fs index 84482af..456d08e 100644 --- a/shaders/terrain.fs +++ b/shaders/terrain.fs @@ -33,13 +33,24 @@ void main() 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 ); vfrag = texture( uTexGradients, uvgradients ).rgb; - vfrag = mix( vfrag, vec3(1.0,0.9,0.8), amtsand ); + vfrag = mix( vfrag, vec3(1.0,0.9,0.8)*0.9, amtsand ); + + qnorm = mix( qnorm, aNorm, amtsand ); + + if( g_light_preview == 1 ) + { + vfrag = vec3(0.5); + } // Lighting - vec3 halfview = normalize( uCamera - aCo ); + vec3 halfview = uCamera - aCo; + float fdist = length( halfview ); + halfview /= fdist; + vfrag = do_light_diffuse( vfrag, qnorm ); - vfrag = do_light_spec( vfrag, qnorm, halfview, 0.2 * rgarbage.a ); + vfrag = do_light_spec( vfrag, qnorm, halfview, 0.1 ); vfrag = do_light_shadowing( vfrag ); + vfrag = apply_fog( vfrag, fdist ); - FragColor = vec4( vfrag, 1.0 ); + FragColor = vec4(vfrag, 1.0 ); }