Confused about Normals

For some reason, the Normals property on a MeshGeometry3D is per vertex. Who ever heard of a point having a normal? It’s weird. Just thought I’d point that out.

2 Responses to “Confused about Normals”

  1. Alan Gasperini Says:

    This is actually not that uncommon. The idea is that at each vertex, you can average the normals of all triangles to which that vertex belongs. This will give you smoother shading, since the normals are interpolated across the triangle.

  2. alex Says:

    Oh, I understand the principle – it just strikes me as conceptually odd that polygon normals are secondary to vertex normals. For starters, you don’t always want to smooth polygons, and if you do, surely it’s better to let the hardware calculate the averages than to specify them? I guess I can’t really see a use case for vertex-only normals given that front/back information is already given by winding order.

    In Shaxam, there’s only one combination of surface properties that causes the generation of normal data at all, and that’s where you’ve got an atlas UV map on a smoothed surface – and it’s only necessary in that case because it’s the only way in WPF to get rid of unsmoothed seams between discontinuous UV coordinate sets.

Leave a Reply

Entries (RSS)