UV subdivision

Hello, i’m implementing the catmull-clark subdivision algorithm, and the direct11sdk seems to have a demo about that.

i have question when deal with the uv calculation.
if a mesh unwrapped to several uv sets, when we subd the mesh, some newly added vertices are created at the middle of each edge. but, if the edge is shared by two different uv set, which means the two end vertices of this edge has more than one uv coordinates.

Then how to get the uv coordinate for the newly added vertics?
thank you:-)

Not sure I see the problem.

Let’s be more precise, we have an edge between vertices A and B, which is shared by two uv sets, one for each face : [UVf1A-UVf1B] for face 1 and [UVf2A-UVf2B] for face 2.

subdivise AB : new middle vertex C is created. It also gets two sets of uv coordinates :
UVf1C is interpolated from first set UVf1A-UVf1B
UVf2C is interpolated from second set UVf2A-UVf2B

I would say linear interpolation would be enough for the uv coords, especially if the texture already exists.
If not, then there is a whole range of different sorts of unwrapping, that can be applied after subdivision.

linear interpolation seems not good enough, maybe result in distoration, see the link :slight_smile:
http://en.9jcg.com/comm_pages/blog_content-art-39.htm