Description
USD meshes can define a subdivision scheme (most often Catmull-Clark method, but can be the Loop method).
So far, F3D ignores the subdivision and no normals are defined in the final mesh resulting in flat shading.
At least we should compute normals if the subdivision is not none
, but it would be better to smooth the mesh too using the requested method.
I've found an unofficial VTK implementation of Catmull-Clark online: https://www.cg.tuwien.ac.at/courses/MathMethodenCG/SS2003/4-Kuehschelm-Wagner-Zambal/html/vtkCatmullClarkFilter_8cpp-source.html
If the method is Loop, the feature already exists in VTK: https://vtk.org/doc/nightly/html/classvtkLoopSubdivisionFilter.html
One question we need to answer is how many iterations do we need to apply? Hard-coded value or giving an option somehow?