I am generating a mesh with simplex noise via script. That works fine. I am then raycasting with the mouse to allow a vertex to be clicked, to raise that vertex. When I do so in code, and recalculate normals, the triangles surrounding that vertex are not recalculated correctly. Am I missing something?
Looks like you not sharing vertices, so each tri in your mesh uses 3 unique vertices. The fact the faces are flat shaded and not smooth also indicates that. If you want the flat shaded/low poly look then you will have to find the vertices in your mesh that have the same value as the one you are about to move and then also move those.
Normals are stored in a single vertex. If you just raise a vertex and recalc normals, it won’t look like a facet but rather mooshy smooth. To make it look like a facet you have to clone the verts so they are not shared between faces.
You can see a running comparison of what I’m talking about in my MakeGeo project. Look for the SharedvsNonSharedVertices scene.