The cgal provides four types of subdivided surface stability.AlgorithmYou can also export the model directly to the format of "VRML" or "off", but it is somewhat larger. On the cgal Mail List, people often ask how to use this library. In fact, it is not a good-looking document. Examples are provided. If you do not know the results of using C ++ templates, you will not have enough programming experience. Here, the CC subdivision method provided in cgal is used to process the Maya multilateral row model. The result of iteration is on the left and the result of iteration is on the right. It can be seen that it is already quite smooth, you can directly perform the displacement operation on the GPU to avoid losing details of the model due to precision issues.
Due to cgal design problems, only by making great efforts to re-write some classes and modify the inheritance relationship can we achieve segmentation and perform UV operations. At the beginning, I didn't quite understand the relationship between manifold ing, so I didn't dare to (Yes, I didn't dare) process UV. After discussion with people in newsgroups, in particular, Professor Peter Schröder of Caltech gave me an important note that UV can be processed in the same way as vertices from the perspective of popular ing, in this way, it is equivalent to processing two polyhedron, And then it only needs to be merged and combined. As a matter of fact, Pqq performs three iterations on a multilateral model with 5178 faces to generate 248544 faces with a volume of about 20 mb. Then, you can enter the geometry shader of the GPU for displacement to implement real-time high-quality model rendering.
In the future, I will write a complete tutorial on cgal and contribute it to open source.Community.