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 :

objet a plusieurs meshs"node" == osg::group


Sujet :

OpenSceneGraph

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    502
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 502
    Points : 227
    Points
    227
    Par défaut objet a plusieurs meshs"node" == osg::group
    bonjour,

    pour utiliser les différent meshs d'un objet "nodes" faut t'il obligatoirement l'objet dans un osg::group ?


    merci !

  2. #2
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    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 : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut
    Bonjour,

    alors ta question n'est pas tout a fait correcte déjà (donc ma réponse le sera surement pas beaucoup plus )

    D'abord, un osg::Group est un osg::Node, c'est une question d'heritage
    (http://www.openscenegraph.org/docume...cs/a00291.html)

    Quand tu charge un osg::Node, tu peux le caster en Geode, Group, etc...
    Les mesh sont dans les geodes/geometry.

    Cependant, lorsque tu charge un fichier, (et je dis ça par expérience) le noeud racine dont tu récupere le pointeur est un osg::Group (voir un Transform, mais comme tranform herite de group, c'est aussi un group).

    Donc tu récupere ton node, que tu cast en group. si ça marche, alors tu as donc la racine de ton graph, auquel cas tu devra le parcourir pour trouver les Geode et Geometry pour acceder au mesh.

    Que veux tu faire avec le mesh ? car il n'est pas toujorus necessaire d'acceder jusqu'aux vertices pour certaines opérations...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    502
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 502
    Points : 227
    Points
    227
    Par défaut
    bonjour Ange_blond,

    mon objet est par exemple une voiture, la voiture est separée et composée de plusieurs parties "meshs" nodes": les roues , le chassis, les sieges etc ..



    pour affecter un objet composés de plusieurs parties afin de pouvoir effectuer des changements sur les differentes parties de l'objet séparement
    "l'objet est exporté par osgexp créant un fichier .osg"



    merci !

  4. #4
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    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 : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut
    Dans OSG, tout est "Node"

    Chaque element est un graph de scene. Il peut etre composé de plein de groupes comme de tres peu.

    Si tu veux afficher/gerer ton graph "voiture" dans ta scene, et parce qu'il n'y a qu'un sceneRoot par viewer, il te faudra en effet rassembler tes roues, sieges, etc... dans un meme group.
    (Pour rappel, un switch, un Transform, un LOD.. sont des groups aussi)

    Si jamais la question n'est pas répondue, n'hesite pas à la préciser a nouveau car il n'y avait pas de question dans ton dernier post.

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