Hi all,
I have noticed some disturbing behavior of the curved triangle specification. I attached the problematic AMF file and some pictures which illustrate the problems. I attached subdivision levels 4-8, as well as a cross-section which shows the bumps in the surface. The fractal patterns you see on the surface are not shading artifacts -- the geometry is actually bumpy. Due to the fractal nature of the issue, it becomes more apparent at higher subdivision levels (and only with significantly curved triangles).
There is the possibility that these issues are due to a bug in my code (and I do hope it is). However, to double-check, I ported the curved triangle code from the open-source tool into our system, and the result is identical, so I assume that my implementation is not the problem.
I would be very grateful if other people on this list could double-check the issue with their own, independent implementations of the standard. I could not get the full open-source amftools program to compile (not having Visual Studio, it was always a long shot), and the executable in SVN does not work. So if someone can test with the reference implementation, that would be a good first step.
The curved triangle specification in the standard will create a G1 continuous surface (in-plane tangents are collinear, but not of the same length). It is not surprising that such a subdivision scheme does not produce smooth surfaces (C2 is required for that). Modern subdivision schemes have this property, but cannot process each triangle individually. I think that no subdivision scheme that does process each triangle individually can offer more than C1 continuity.
I am not sure how people on this list perceive the severity of this problem. Unfortunately, I do not know of an easy fix.
Martin