Bonjour,
je viens vers vous après avoir pas mal recherche sur google.
Mon objectif est de réaliser un nuage de points dans lequel je pourrai effectuer un picking individuel sur un point et par exemple en changer la couleur ou la texture (pointsprite). Le nuage sera compose d'environ 500 000 points.
Dans un premier temps, j'avais réalise un géode pour chaque point. Le système de picking fonctionnait a merveille et je pouvais changer le state de chaque point sur chaque clic via les PolytopeIntersector. Cependant, cette solution s'est avère catastrophique au fur et a mesure que j'augmentais le nombre de points (après 2000 points c’était désastreux).
J'ai donc complètement change de voie et je réalise maintenant une géode generale a laquelle j'applique un state et qui contient une primitive contenant la totalite des points.
Le rendu avec cette méthode est parfaitement fluide avec une très grand nombre de points. Le problème vient lorsque je veux récupérer le point d'intersection. J'ai réessaye avec les polytopeInterceptor mais le problème est que le polytope me renvoi la géode générale donc lorsque j'y applique un nouveau state, c'est tous les points qui vont changer de state.
De ce que j'ai trouve sur le net, il faudrait que je refasse une routine personnalise utilisant les LineSegmentIntersection ou les kd-tree. J'ai un peu essaye mais je dois avoue que cela reste encore trop flou.
J'aimerai donc savoir si j'aurai rate quelques choses dans mes recherches et quel sont les solutions possibles pour mon problème ou qu'on puisse m'expliquer plus précisément le système utilisant les polytopeIntesector et les kd-tree.
Merci
Partager