I'm testing Sokol library (https://github.com/floooh/sokol) to create a simple game sample with lighting in OpenGL, D3D11 and Metal. I'm using shaders similar from LearnOpenGL tutorials (https://learnopengl.com/Lighting/Light-casters).
This is part of my frag shader:
vec3 lightDir = normalize(light.position - v_position);
float diff = max(dot(normal, lightDir), 0.0);
diffuse = vec3(1.0,1.0,1.0) * diff * vec3(texture(u_diffuse, v_uv));
The colors in ground aren't continuous, you can see the color layers (look red lines).
Here is another sample using PBR shaders. Again, color in ground is not continuous.
Why this happens? How can I create a perfect plane ground?

