- float light1 = 1.0-(dot( vec3(0.95,0.0,-0.3), qnorm )*0.5+0.5);
+ float light1 = dot( lightdir, mix(qnorm,aNorm,amtsand) )*0.5+0.5;
+ diffuse = diffuse * (light1*vec3(1.0,0.96,0.9)*1.2 + shadow*(1.0-light1));
+
+ // Specular lighting
+ vec3 halfview = normalize( uCamera - aCo );
+ vec3 specdir = reflect( -lightdir, qnorm );
+ float spec = pow(max(dot(halfview,specdir),0.0),10.0) * 0.2*rgarbage.r;
+ diffuse += spec * vec3(1.0,0.8,0.8);