VistaPro
I've never written a renderer, so pardon my mistakes, but I thought that with
either Phong or Gouraud shading, a "seam" appears wherever it (the renderer)
thinks that it's come to the topological edge of a set of polygons that are
"smoothed" as a group. I think most renderers check that adjacency by using
the enumeration (index) of points within a point list, because each face stores
only the index of its points, and not the 3D coordinates themselves. It
wouldn't matter if there was overlap, even if the normals were the same,
because the renderer would draw them as separate objects.
In InterChange, there's a "point reduce" tool. It examines an object's point
list. It removes duplicates, i.e., two separate points with distinct indexes
in the point list, yet they have the same XYZ coordinate. It then fixes-up the
point enumerations within faces to match the proper points. Once these
duplicates have been removed, objects that wouldn't smoothly shade in some
programs will now magically smoothly shade, because the "point reduce"
operation repairs all cases where the renderer might want to find adjacency.
On the other hand, some people might use this "seam" effect for artistic
purposes, making the points distinct from each other on purpose. For example,
the "seams" along the parts of a human face.