I'm currently trying to figure out how to go about the interpolation of per-face-point variables in subdivision surfaces. My input data consists of 3, 4 and 5 side faces describing the polygon cage. Because my data is not per vertex, I understand this prevents me from using the rtInterpolate2 function with a user vertex buffer, and instead I'm looking at the sample code in the pathtracer tutorial (getTextureCoordinatesSubdivMesh) handling the first two cases.
So far so good, however I'm a bit confused about how to interpret the UV information on non-quadrilaterals - I understand from the docs that we can unpack the barycentric coordinates into subpatch index and per-patch-uv. Since the subdivision of the input N-gon will produce quads, am I right to understand that we would then have to figure out the quad resulting from the subpatch our evaluated point lies in, and from there on revert to the bilinear interpolation by manually generating the additional interpolated vertices? sounds like this could get complicated quickly when considering creases and edges, so I was wondering if perhaps I'm missing something out and there's an alternative method.
Thanks in advance for your help