I'm playing with some terrain generation. I have a triangular mesh that looks OK - that is if I hardcode verticles normals (on this image every single verticle has normal of (0,-1,0)
The situation is different when I try to calculate normals normally. I.E.
// for every vertex in triangle normal is
private Vector3D GetNormal(Vector3D a, Vector3D b, Vector3D c)
{
//return new Vector3D(0, -1, 0);
return (c - b).CrossProduct(a - b).Normalize();
}
Is something fundamentally wrong with my approach ? I've read that vertex normals should take into account adjected triangles (sum of adjected triangles normals normalized by area those triangles have), but I don't think my "simplistic" approach should create those weird holes. Sources (if anyone is interested: https://github.com/svejdo1/Delaunay)