Je dois importer un maillage dans une application qui ne peut gérer qu'un certain nombre de mailles par objet. À cause de cela, je suis obligé de diviser le maillage en plusieurs morceaux jusqu'à ce que tous les pices soient en dessous du nombre maximum de vertex. Le fractionnement doit se produire pendant l'exécution, donc je ne peux pas utiliser une application externe pour diviser le maillage.Comment diviser un maillage en plusieurs morceaux de sorte que tous soient plus petits qu'un nombre donné de sommets?
Je n'ai aucune exigence concernant la façon dont le maillage est divisé, mais il devrait conserver toutes les faces, normales et UV.
Y at-il un algorithme connu qui peut le faire?
Votre maillage faire usage d'indices ? Est-ce triangulé? Si c'est le cas, vous pouvez itérer sur les index, en copiant chaque sommet pointé par l'index actuel dans un nouveau maillage plus petit. Vous "terminerez" ce maillage lorsque le nombre de vertex du nouveau maillage est supérieur à votre nombre max_vertex_count - 3. –
@kirkroerig Oui, mon mesh est triangulé. Il se présente sous la forme d'une liste ordonnée de sommets, chacun incluant ses coordonnées UV. Les visages sont définis comme des groupes de 3 indices de la liste des vecteurs. Les triangles ne sont pas corrélatifs, je peux avoir un triangle avec les index 0, 300 et 1534 par exemple. – kace91