     vec4 spec_color=cMatSpecColor*f;
     spec_color.a=cMatSpecColor.a;
 
-    vec4 diffColor = vec4(f,f,f,1);
+    vec4 diffColor = mix(vColor,vColor*0.35,f);
     #ifdef VERTEXCOLOR
         diffColor *= vColor;
     #endif

    float s10=noise_height(p);
    p=vWorldPos.xyz+vec3(0,-0.001,0);
    float s12=noise_height(p);
    vec3 va=normalize(vec3(size.xy,(s21-s01)*64));
    vec3 vb=normalize(vec3(size.yx,(s12-s10)*64));
    normal+=normalize(cross(va,vb));
    normal=normalize(normal);


float noise_height(vec3 p)
{
    float f;
    f=snoise(p.xyz*0.5)*2+
      snoise(p.xyz*4.0);
    f=0.5+f*2;
    f=clamp(f,0,1);
    return f;
