     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));
+    vec3 va=normalize(vec3(size.xy,(s21-s01)*16));
+    vec3 vb=normalize(vec3(size.yx,(s12-s10)*16));
     normal+=normalize(cross(va,vb));
     normal=normalize(normal);
 

    vec4 spec_color=cMatSpecColor*f;
    spec_color.a=cMatSpecColor.a;

    vec4 diffColor = vec4(f,f,f,1);
    #ifdef VERTEXCOLOR
        diffColor *= vColor;
    #endif

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;
