It’s occurred to me recently to use geometry nodes to split off and further-subdivide sections of a model that need more topology than anywhere else. Using the edge- and vertex-crease options is enough to get the boundaries of the subdivided geometry matched to the unsubdivided rest, but the catch is getting the normals to match: it results in unsightly seams if the geometry was smooth-shaded.
Here’s an example not using any subdivision-refinement at all, but just regular smooth-shaded UV spheres, to show the problem and my attempt at solving it.
Seam Hiding Attempt - Geometry Nodes - 3.5 - 2022-12-04.blend (152.8 KB)
On the left is a smooth-shaded UV sphere; on the right is the same sphere with the edges on its equator split, showing the disjunction in the normals.
In the middle is an attempt to put the normals of the split case back to the way they were in the unsplit case (capturing the normals for each point before the split, storing them in a named attribute, and using that attribute in the shader) but it seems to work only about half as well as it should.
It’s almost like the normals on the faces just below the equator aren’t changed at all from the split-case, but it actually isn’t localized to any specific geometry, as turning the sphere upside down doesn’t change the appearance of the artifacts.
I have a suspicion that this may be related to any special tricks for how Cycles handles shadow terminators, so maybe there’s nothing I can do about this, but if anyone knows of anything that can be done, I’d greatly appreciate it.