IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenSceneGraph Discussion :

picking Points OSG


Sujet :

OpenSceneGraph

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    March 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : March 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut picking Points OSG
    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

  2. #2
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    March 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : March 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut
    Bonjour,

    En effet les intersector de base d'osg ne rentrent pas dans le détail suffisament pour ton soucis.

    Je n'ai pas de solution miracle a te proposer personellement, si ce n'est jouer avec le partitionnement de l'espace pour trouver plus rapidement ton point, via les kd-tree par exemple qu'OSG implemente dejà dans le picking.
    (il suffit de l'activer sur le osgDB::databasePager si je me souvient bien, tu peux l'activer avant de créer ta scene et voir si ça accelere le picking dejà)

    Sinon, a tes brouillons et implemente toi meme le systeme...
    Sert toi des sources d'osg pour comprendre comment faire, ça aide souvent a ne pas tout réinventer
    "le langage C permet de tout faire, y compris se tirer dans le pied. Le langage C++ permet de tout faire, y compris se tirer dans le pied - et réutiliser la balle"

Discussions similaires

  1. [C++ DX9] Plusieurs problêmes (rendu de point et picking)
    Par caparenlive59 dans le forum DirectX
    Réponses: 5
    Dernier message: 13/07/2007, 17h20
  2. TChart : déplacer un point
    Par Nicolas dans le forum C++Builder
    Réponses: 3
    Dernier message: 06/11/2002, 19h05
  3. compression de données du point de vue algorithmique
    Par GoldenEye dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 26/06/2002, 16h51
  4. Réponses: 3
    Dernier message: 12/06/2002, 20h03
  5. savoir si 1 point est a l'intérieur d'un cercle ...
    Par skarladevobsy dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 23/05/2002, 19h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo