Normals that keep sharp edges sharp: around each point, a triangle's corner takes the
area-weighted sum of the normals of the triangles around that point that turn from it by less than
minSharpAngle degrees. Where corners of one point end up with different normals the point is
split, so a cube keeps hard edges while a cylinder's side stays smooth. Gives, for each point made,
the point it was made from, its normal, and the triangles over the points made; points no
triangle uses are left out.
Normals that keep sharp edges sharp: around each point, a triangle's corner takes the area-weighted sum of the normals of the triangles around that point that turn from it by less than
minSharpAngledegrees. Where corners of one point end up with different normals the point is split, so a cube keeps hard edges while a cylinder's side stays smooth. Gives, for each point made, the point it was made from, its normal, and the triangles over the points made; points no triangle uses are left out.