Bonjour,
Je souhaiterais améliorer les performances de tracé d'un contour d'un objet 3D.
Cela consistait au début à relier les points composant un objet 3 par 3 puis à les ranger dans une Geometry à l'aide de la méthode Geometry.Combine(..,..,GeometryCombineMode.Union). Il est cependant précisé sur MSDN que cette fonction est fortement déconseillée pour les unions car "peut nécessiter beaucoup d'UC". J'ai donc essayé de procéder comme ils le suggèrent, à l'aide de GeometryGroup. La performance est vraiment excellente (division du temps de calculs par 10 !), seulement voilà.. je n'obtient pas un contour :
Au lieu de ca :
En fait j'ai cru comprendre que l'avantage du Combine(Union) était que ca supprimait les intersections ! Pour rappel, les opérations élémentaires :
J'ai bien essayé le Geometry.GetOulinedPathGeometry() sur chaque objet mais ca me donne un contour sur une face seulement, peu importe la rotation de l'objet. Ce n'est donc pas un vrai contour comme je souhaite :
Auriez-vous une idée pour effectuer une opération similaire sans passer par un "combine"? En agissant sur le GeometryGroup ou en passant par autre chose..
Merci beaucoup !![]()
Partager